cv::normalize(_src, dst, 0, 255, NORM_MINMAX, CV_8UC1)是什么意思?

71
在OpenCV中,cv::normalize(_src, dst, 0, 255, NORM_MINMAX, CV_8UC1)的作用是将输入图像规范化到特定范围内。其中,alpha为下限,beta为上限,可以调整输出图像的对比度和亮度。而NORM_MINMAX表示使用最小-最大规范化方法进行归一化,CV_8UC1表示输出图像为8位无符号单通道图像。

请使用CV_8U替代dtype参数。当dtype为负数时,输出数组与src具有相同的类型;否则,**它具有与src相同数量的通道和深度=CV_MAT_DEPTH(dtype)**。dst将始终具有与src相同数量的通道。 - Константин Ван
2个回答

76
normTypeNORM_MINMAX 时,cv::normalize会对 _src 进行归一化处理,使得 dst 的最小值为 alpha,最大值为 betacv::normalize 使用的只有比例因子和偏移量(即加上常数和乘以常数)。

CV_8UC1 表示 dst 有多少个通道。

这里的文档已经非常清晰了:http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#normalize


1
所以当我使用单个通道时,理想情况下应该是0到1对吗?或者我在这里弄错了吗? - user1179510
4
你的数组的物理极限是0到255:不能存储大于255或小于0的任何内容。你需要使用哪些值取决于你需要什么限制:如果你使用5和20,那么就不会有任何数值小于5或大于20。 - carlosdc
但是单通道只使用0和1,对吧?所以0和255有点多余了? - user1179510
4
不是单通道,而是使用一个通道,但信号在0到255之间。 - carlosdc
您能否使用此函数根据所有图像的平均值和标准差而不仅仅是单个图像来规范化一组图像? - Jürgen K.
显示剩余6条评论

0

Opencv 中有几种类型的归一化。

尝试在 Online OpenCV-Flow 工具中运行示例,以更好地理解每种类型。

Normalize Sample


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接