什么亮度值被认为是“光”?

kko*_*kot 2 java rgb image colors

我必须确定图像是亮还是暗,并且我有这样的公式:

double luminosity = ((r * 0.2126) + (g * 0.7152) + (b * 0.0722)) / 255
Run Code Online (Sandbox Code Playgroud)

使用此公式,哪个像素值被认为是“光”?

在确定图像是浅色还是暗色时,是否还有其他流行/最佳做法?

vs9*_*s97 5

您的取值范围是从r,g,b等于0(像素为黑色)到r,g,b都等于255(像素为白色)-插入将会给我们提供[0,1 ]

一种方法是简单地说-如果亮度值小于0.5,则为“暗像素”,如果亮度大于0.5-即为“亮像素”。

如果图像内部有大多数暗像素,则图像为暗。如果图像中的大多数像素为亮,则图像为亮。或者,获取图像中每个像素的亮度值并取平均值-然后使用平均亮度来确定图像是亮还是暗。

个别像素示例的一些值:

rgb(245, 100, 3) = luminosity 0.49 - darker
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

rgb(245, 120, 3) = luminosity 0.54 - lighter
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

rgb(100, 140, 3) = luminosity 0.48 - darker
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

rgb(100, 200, 3) = luminosity 0.64 - lighter
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明