图像像素类型转换与归一化

图像像素归一化是深度学习预处理的关键步骤,有助于加速模型训练。OpenCV提供`normalize`函数进行像素值归一化,如NORM_MINMAX,将像素值缩放至0-1区间。此过程不影响图像的有效性和可视性。
摘要由CSDN通过智能技术生成

图像的像素归一化是一个图像的预处理过程。

一、引入

众所周知图像是由像素组成的,灰度图是由单个像素矩阵组成的,而彩色图像是由三个矩阵所构成的,即我们常说的红,绿,蓝三通道。

每个像素矩阵的取值均是0-255之间的整数,虽然可以直接将原始图像的像素真实值直接作为神经网络模型的训练数据,但是这可能会给我们模型的训练过程带来一些问题,

因为在深度神经网络训练时一般使用较小的权重值来进行拟合,而当训练数据的值是较大整数值时,可能会减慢模型训练的过程。

如果我们在将图像输入到神经网络之前对图像做像素值归一化的处理,即将像素值缩放到0-1之间,就能够避免很多不必要的麻烦。

(当图像的像素处于0-1范围时,由于仍然介于0-255之间,所以图像依旧是有效的,并且可以正常查看图像。)

二、函数(opencv)

normalize 函数介绍
函数原型:

void normalize(InputArray src,OutputArray dst, double alpha=1, doublebeta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() )

该函数归一化输入数组使它的范数或者数值范围在一定的范围内。

Parameters:

src 输入数组

dst 输出数组,支持原地运算

alpha

range normalization模式的最小值

beta

range normalization模式的最大值,不用于norm normalization(范数归一化)模式。

normType
归一化的类型,可以有以下的取值:

NORM_MINMAX:数组的数值被平移或缩放到一个指定的范围,线性归一化,一般较常用。

NORM_INF: 此类型的定义没有查到,根据OpenCV 1的对应项,可能是归一化数组的C-范数(绝对值的最大值)

NORM_L1 :  归一化数组的L1-范数(绝对值的和)

NORM_L2: 归一化数组的(欧几里德)L2-范数

dtype

dtype为负数时,输出数组的type与输入数组的type相同;

否则,输出数组与输入数组只是通道数相同,而tpye=CV_MAT_DEPTH(dtype).

mask

操作掩膜,用于指示函数是否仅仅对指定的元素进行操作。

具体操作:

2.1 归一化类型 (NORM_MINMAX)

test.cpp

#include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值