何为归一化
在机器学习领域中,不同评价指标(即特征向量中的不同特征就是所述的不同评价指标)往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。其中,最典型的就是数据的归一化处理。
在深度学习中,对数据进行归一化是为了将特征值尺度调整到相近的范围。
简而言之,归一化的目的就是使得预处理的数据被限定在一定的范围内(比如[0,1]或者[-1,1]),从而消除奇异样本数据导致的不良影响。
图像归一化
种类繁多,一般有L1、L2、INF、max-min。通过各个方法使得数据在0到1之间
图像归一化最常见的就是最大最小值归一化方法,公式如下:
normalize
Mat dst;
Mat dstp;
imshow("原图", image);
std::cout << image.type() << std::endl; //16:CV_8UC3 8位字节类型带a的3色通道图像
image.convertTo(image, CV_32F); //改变数据类型 CV_32FC3 32位浮点带a的3通道图像
std::cout << image.type() << std::endl;
imshow("未归一化", image);
normalize(image, dst, 1.0, 0, NORM_MINMAX); //minmax归一化操作
std::cout << dst.type() << std::endl;
imshow("图像数据归一化", dst);
multiply(dst, 255, dstp);
dstp.convertTo(dstp,CV_8UC3);
imshow("还原", dstp);