Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 颜色直方图归一化_Opencv_Image Processing_Histogram - Fatal编程技术网

Opencv 颜色直方图归一化

Opencv 颜色直方图归一化,opencv,image-processing,histogram,Opencv,Image Processing,Histogram,我昨天在这里找到的这个帖子上问了这个问题: 然而,我尝试使用我在链接中得到的一些想法对图像执行标准化,结果如下。这里我将所有像素标准化为50%,除了黑白像素。 我使用的公式是:(pixel-min)/(max-min)*127 归一化前的图像 使用上述公式归一化后: 现在,我正在确认我的步骤是否正确。谢谢..:)自从声明 normal__ = ((pixel - min)/(max - min)) * ( 127); img.at<uchar>(j,i) = nor

我昨天在这里找到的这个帖子上问了这个问题:

然而,我尝试使用我在链接中得到的一些想法对图像执行标准化,结果如下。这里我将所有像素标准化为50%,除了黑白像素。 我使用的公式是:
(pixel-min)/(max-min)*127

归一化前的图像

使用上述公式归一化后:

现在,我正在确认我的步骤是否正确。谢谢..:)

自从声明

  normal__ = ((pixel - min)/(max - min)) * ( 127);
   img.at<uchar>(j,i) = normal__;
normal_uu=((像素-最小值)/(最大-最小值))*(127);
在(j,i)处的img=正常;

如果不在if-else语句中,它们也会应用于黑白像素。这样可以吗?

当我把它放在else语句中时,它会在某个区域上扭曲像素。。不知道为什么我想这是因为只遗漏了0和255作为黑白级别。得到的归一化函数不是平滑的。并非汽车上的所有白色区域都是255像素级别。当前的规格化函数将像素值分散在0-127范围内,而图像的正常范围为0-255。这就是图像变暗的原因。标准化函数通常打算做相反的事情;如果像素在较小的范围内,则会将值分散在0-255之间。您可以拍摄低对比度图像,并使用255而不是127。那应该行的。哦,我明白我的错误了。还有一个问题,比如对于图像,如果对于每个通道rgb,我得到最小和最大像素值。如果min=0和Max=255,则我将获得与输入相同的通道。这正常吗?我尝试了你告诉我的想法,它可以很好地处理低收缩图像。如果最小值为0,最大值为255,则当前算法将保持图像不变。这种情况需要更复杂的算法。通过直方图均衡化,该算法将沿直方图分布像素。例如,它将尝试获取亮度范围0-63内25%的像素。因此,即使在这种情况下,也会有更好的结果。根据需要,您可以改进算法。
RED PIXEL: MIN = 0 MAX = 253
GREEN PIXEL: MIN = 0 MAX = 254
BLUE PIXEL: MIN = 0 MAX = 255
  normal__ = ((pixel - min)/(max - min)) * ( 127);
   img.at<uchar>(j,i) = normal__;