答案 0 :(得分:3)
回应Amro的回答:
以上五个方格在HSV空间中具有相同的Hue值。通过Hue选择是有帮助的,但是您也希望对饱和度和值施加一些约束。
HSV允许您以更具人性意义的方式描述颜色,但您仍需要查看所有三个值。
答案 1 :(得分:1)
您可能希望转换为HSV颜色空间,并根据Hue值检测颜色。 MATLAB提供RGB2HSV函数。
以下是文件交换中的an example提交,用于说明基于色调的颜色检测。
答案 2 :(得分:1)
作为一个起点,我将使用rgb空间和欧几里德范数来检测像素是否具有给定的颜色。通常,您有一个像素的值为3 [red green blue]
。您还有3个定义目标颜色的值:[255 0 0]
表示红色。计算这两个向量之间的欧几里德范数,并应用决策阈值来对像素的颜色进行分类。
最终,您想要消除亮度因子(即亮红色还是暗红色?)。您可以切换到HSV空间并在H值上使用相同的范数。或者您可以使用[red/green blue/green]
向量。在此之前,对图像应用低通滤波器,因为分割(也存在于hsv2rgb变换中)往往会增加噪声。
答案 3 :(得分:0)
为了获得单色掩模,首先使用rgb2gray将rgb图像转换为灰色。还从rgb图像中提取所需的颜色平面(例如,为了获得红色平原,给出rgb_img(:,:,1))。从灰色图像中减去给定的平面........