如何检测一张照片的对比度指数?

3
我正在尝试对一组照片进行排序(可以在之后添加更多照片),并尝试找到一个对比度/亮度/饱和度指数,以便对这些照片进行排序。亮度和饱和度相对容易确定,但我却无法确定对比度。我尝试了几种方法(例如计算每个像素与其邻居之间的差异的平均值,或将图像分成16个区域(4x4),然后计算它们的平均差异,以抵消噪声增加的对比度),但都没有得到准确的结果。我的“对比度”指的不是技术性或科学性,而是视觉上的高低对比度,就是你用眼睛看到的那种。我不是数学或信号处理方面的专家,我正在寻找一个简单直接的算法。有没有方法可以获得图像的总体数字对比度指数/比率/值(只要能用于对照片排序即可)?
2个回答

3
您可以尝试制作像素亮度的直方图。对于“理想”的对比度图像,它应该是均匀的。而偏离均匀性的程度可以衡量对比度的数量。
要了解更多细节,请参阅直方图均衡化方法来增强对比度: http://en.wikipedia.org/wiki/Histogram_equalization

3
我没有尝试过这个方法,但我会依次尝试以下步骤:
1. 去噪。任何一种方式都可以。根据你能承受的计算量,我会尝试模糊(廉价)、中值或双边滤波器(更昂贵,可能需要知道噪声在所有图像中是否更多或少相同类型/效果/对比度)。请注意,所有滤镜都要求您知道一个半径,足以去除噪声,但不会损害局部对比度(我希望您拥有更多的全局对比度而不是局部对比度)。
2. 创建一些图像亮度的直方图。如果您想使用固定大小的直方图,则可以在所有像素上进行,也可以将其分成若干部分(如您上面提到的16个部分)。
3. 计算图像直方图的标准差。这将是图像对比度的参数。

对于第一部分,我决定使用图像的缩略图(我已经生成了)来大幅减少处理时间,并消除噪声因素... - Can Poyrazoğlu

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