我有一张照片加载到位图。我检查一些像素的颜色。但在图片中,由于光线和其他因素的影响,有时候应该是红色的东西,比如马龙,洋红,桔子等。我使用方法getPixel(x,y),它返回Color的整型值。是否有可能检查此int值是否在定义与红色类似的颜色的区间中。或者是任何网站或什么东西,我可以找到任何定义或颜色描述?Android位图:getPixel()颜色
0
A
回答
1
是的。从http://developer.android.com/reference/android/graphics/Color.html开始,Color
整数格式为0xffRRGGBB。 (ff实际上是一个alpha通道,即不透明度,但通常是不透明的,因此ff)。
有很多网站可以让你输入这些值来看看颜色 - 例如http://www.colourchart.net/。你可以选择每个颜色组件的外边界。
您可能还会考虑使用Color.colorToHSV()
,这将使您能够根据色调,饱和度和亮度来指定边界,而不是红色,绿色和蓝色 - 这在您的上下文中可能在逻辑上更容易。
1
Basicall RGB不适合比较颜色,但有一个很好的颜色模型称为HSV。因此,您应该将RGB值转换为HSV,然后将颜色的Hue值与阈值进行比较。
例如绿色的色调值是120,但90和150
之间的这种联系说明如何将色彩之间的型号转换可以接受的值:约HSV http://www.cs.rit.edu/~ncs/color/t_convert.html
更多信息modell:http://en.wikipedia.org/wiki/HSL_and_HSV
谢谢,我觉得这个网站对我会很有帮助! – Ziva 2013-02-09 19:43:19
没问题。如果你很高兴,请接受答案! – 2013-02-12 20:53:07