一、基本知识
在前面学习的基础上,大家知道了一张图像默认的存储格式是8位字节类型的,实际上在opencv中可以转换不同的数据类型(如转成浮点型),用convertTo()的API函数实现。
另外,还可以把数据的取值范围0-255压缩到0-1的取值范围,这就是归一化,通俗地讲就是将矩阵的值通过某种方式变到某一个区间内。用归一化函数normalize()实现。当图像的像素处于0-1范围时,由于仍然介于0-255之间,所以图像依旧是有效的,并且可以正常查看图像,图像的像素归一化是一个图像的预处理过程。
归一化的好处:如果我们在将图像输入到神经网络之前对图像做像素值归一化的处理,即将像素值缩放到0-1之间,非常便于处理。
四种归一化的方法:
- NORM_MINMAX:数组的数值被平移或缩放到一个指定的范围,线性归一化,常用。
- NORM_INF: 根据OpenCV的对应项,可能是归一化数组的C-范数(绝对值的最大值)
- NORM_L1 : 归一化数组的L1-范数(绝对值的和)
- NORM_L2: 归一化数组的L2-范数(欧几里德)
二、函数原型
1、convertTo函数
作用:将数组(图像)转换为另一种具有可选缩放比例的数