Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Image 计算彩色图像的对比度(RGB)_Image_Image Processing_Colors_Contrast - Fatal编程技术网

Image 计算彩色图像的对比度(RGB)

Image 计算彩色图像的对比度(RGB),image,image-processing,colors,contrast,Image,Image Processing,Colors,Contrast,在黑白图像中,我们可以通过(白色像素总数-黑色像素总数)轻松计算对比度。 如何为彩色(RGB)图像计算此值? 您有什么想法吗?这不是一个单一的答案。我能想到的一个想法是分别在三个通道上操作,红色、绿色和蓝色。计算每个通道的直方图并对其进行操作 一个简单的谷歌搜索产生了许多相关的算法,我使用的其中一个算法是均方根(像素强度的标准偏差) 对比度定义为图像最高和最低强度值之间的差值。因此,您可以很容易地从各自的直方图计算它 示例:如果有纯白色图像,则最低值和最高值均为255,因此对比度为255-255

在黑白图像中,我们可以通过(白色像素总数-黑色像素总数)轻松计算对比度。
如何为彩色(RGB)图像计算此值?

您有什么想法吗?

这不是一个单一的答案。我能想到的一个想法是分别在三个通道上操作,红色、绿色和蓝色。计算每个通道的直方图并对其进行操作


一个简单的谷歌搜索产生了许多相关的算法,我使用的其中一个算法是均方根(像素强度的标准偏差)

对比度定义为图像最高和最低强度值之间的差值。因此,您可以很容易地从各自的直方图计算它

示例:如果有纯白色图像,则最低值和最高值均为255,因此对比度为255-255=0。如果图像只有黑色(0)和白色(255),则对比度为255,这是可能的最高值

如果计算每个像素的发光(从而将图像转换为灰度),同样的方法也可以应用于彩色图像。有几种不同的方法可以将图像转换为灰度,您可以选择一种您喜欢的方法


为了使该方法更加复杂,建议忽略一定百分比的像素来解释异常值(否则,无论其他所有像素如何,单个黑白像素都会导致“完全对比度”)。另一种方法是考虑暗像素和亮像素的数量,如@Yves Daoust所述。这种方法有一个缺陷,即必须设置任意阈值来确定哪些像素计为暗/亮(通常为127)

您可以使用灰度图像的标准偏差作为对比度的度量。这称为“RMS对比度”。有关详细信息,请参阅。

此问题可能与主题无关,因为它与特定的代码问题无关。亮像素总数-暗像素总数。转换为灰色