一张白底加方块的图片,方块可能出现在图片任意位置,请问如何识别方块的颜色?(用hsv)
(1)识别方块:对图片滤波(抑制噪声)后,查找轮廓,获得面积最大的轮廓,即得到方块区域位置。这一步在 RGB 或 HSV 都可以。
(2)提取方块颜色:以方块中心像素值作为方块颜色分量,或方块区域的像素值的均值作为方块颜色分量,或方块区域适当裁剪边缘后的区域的像素值的均值作为方块颜色分量。哪种都可以,后者抗干扰更好。
(3)以上就得到了方块颜色的 HSV,其实就完成方块颜色的识别了。如果要进一步明确方块颜色是“红色”或“绿色”,可以根据方块颜色的 HSV 值查表获得。