我有两个图像处理问题,我正在使用Open-CV处理。
方案1和2的示例图像;
1
2
两个图像都有三种类型的感兴趣对象。 (三种颜色或尺寸)
我遇到的技术包括阈值处理,然后使用像素计数的侵蚀,使用RGB值进行颜色分割。
什么是良好的工作链,什么是开始的好地方?
答案 0 :(得分:6)
对于颜色分割,您应远离RGB,因为相似的颜色与线性无关。
作为示例,2个相似的颜色(具有相同的色调)可能具有非常不同的RGB值:
最好使用LUV或HSV等颜色空间,这些颜色空间与亮度分开。例如,您可以在LUV的U,V组件上尝试聚类算法。
答案 1 :(得分:2)
查看cvBlob,它可以很好地处理复杂的形状。
答案 2 :(得分:2)
显然使用RGB值可能是从这里开始的最佳方式。使用函数cvSplit,它将为您提供三个分离的计划B,G和R(使用OpenCV的BGR顺序,而不是RGB)。在每一个中,您应该只看到相应颜色的圆圈。
我建议首先使用Canny算法执行边缘检测,通过函数cvCanny在OpenCV中实现,然后使用Hough算法进行圆检测,也在OpenCV中实现。如果我记得很清楚,Hough圆圈的OpenCV函数会返回圆形属性(半径...),这样您就可以根据它们的大小来识别圆圈。 2的另一个选择是Hit& Miss算法,它使用形态学。我从未使用过OpenCV的形态学,只使用Matlab。
玩得开心