我有一张照片,我把它加载到位图中。我检查了一些像素的颜色。但在图片中,由于光线和其他因素,有时应该是红色的东西会更多一点,比如红色、洋红、橙色等等。我使用的是getPixel(x,y)方法,它返回一个int值Color值。是否有可能检查该int值是否在定义类似于红色的颜色的间隔内。或者是任何网站或东西,在那里我可以找到任何定义或颜色描述?
发布于 2013-02-10 03:40:41
是。在http://developer.android.com/reference/android/graphics/Color.html中,Color整数的格式为0xffRRGGBB。( ff实际上是一个alpha通道,即不透明度,但通常是不透明的,因此是ff)。
有很多网站可以让你输入这样的值来查看颜色--例如http://www.colourchart.net/。您可以选择每个颜色分量的外部边界。
您还可以考虑使用Color.colorToHSV(),这将使您能够指定色调、饱和度和亮度方面的边界,而不是红色、绿色和蓝色-在您的上下文中,这在逻辑上可能更容易。
发布于 2013-02-10 04:12:27
Basicall RGB不适合比较颜色,但有一个名为HSV的很好的颜色模型。因此,您应该将RGB值转换为HSV,然后将颜色的色调值与阈值进行比较。
例如,绿色的色调值为120,但您可以接受介于90和150之间的值。
此链接显示如何在颜色模型之间进行转换:http://www.cs.rit.edu/~ncs/color/t_convert.html
有关HSV modell的更多信息,请访问:http://en.wikipedia.org/wiki/HSL_and_HSV
https://stackoverflow.com/questions/14790173
复制相似问题