标签: java image-processing colors rgb
我需要使用Java检测图像中的所有红色像素。最好的方法是什么?
当红色RGB值为>时,仅假设像素为红色。 200不够好(见this table)。
那么有更好的方法吗?还是有一些red-color-rgb算法?
答案 0 :(得分:3)
查看YCrCb色彩空间。
简单算法:将RGB图像转换为YCrCb,提取红色通道并设置阈值。
答案 1 :(得分:3)
将RGB转换为HSL,并为色调(H)分量设置阈值。
答案 2 :(得分:1)
正如您所建议的那样,您可能希望在HSB空间中进行一些比较。您可能希望根据您的期望为所有三个值定义适当的愤怒。
您可以使用Color.RGBtoHSB获取给定颜色的值。
Color.RGBtoHSB
http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#RGBtoHSB%28int%2C%20int%2C%20int%2C%20float%5B%5D%29