2011-08-18 40 views
2

我试图设计一种选择单色照片的算法(一位摄影师称之为“黑色&白色”)并且具有单色调作为棕褐色。 (认为​​你已经应用了单色图像的纯色滤镜)如果我只是在单色后,我所需要的是检查饱和度,这很容易(我目前正在这样做),但它不成功寻找纯色调的黑白照片。那可能是一种方法?找出一张照片是否是一大组照片的单色/棕褐色

+2

想法:计算每对色彩通道之间的互相关系数。如果图像足够接近1,则声明图像为单色。(定义“足够接近”需要进行一些实验)。 –

回答

2

如果图像是单色,黑色或白色或棕褐色,则与每个亮度级别对应的颜色应该几乎相同。将图像颜色空间转换为包含亮度(Y)或亮度分量(例如YCbCr或HSL)的图像颜色空间,并且对于每个Y/L值查看其他两个通道中的方差。如果这些值聚集在一起,则表示您有单色图像。

+1

从维基百科文章开始关于RGB和HSL,我已经发现,*色度*是我想要的。实施它,它工作得很好.. –

1

也许你可以看看R,G & B直方图中的值的分布/模式,如果你使用像Photoshop这样的东西来可视化单色图像的直方图,你会看到“模式”的分布直方图在所有三个通道中是相似的(将需要归一化),而全色图像上每个通道的分布(通常)是完全不同的。大多数情况下......有些情况下,全彩色图像仍可能会在Photoshop中发出像彩虹渐变这样的单色风格 - 但这是人为设计的,很可能它不会经常出现在“自然”摄影。

+0

是的,每个频道的“真彩色”照片几乎不可能具有接近相同的直方图。所以这种方法应该理论上工作,我会编码,看看它是如何结果.. –

1

如果您的图像是单色的,所有像素的饱和度将全部为大约0.如果图像被调色(如棕褐色),则所有像素的色调大致相同。