opencv进行药片识别,在区分颜色方面的一点小小问题
目前在做一个设计,就是在一堆药片里面区分出不同颜色的药片以及破损的药片。
我的思路:
1.摄像头读取实时画面 (已实现)
2.对画面颜色进行区分,比如设定一个阈值,只保留白色药片,再设一个阈值,只保留红色药片
(未实现)
3.分别对图片进行处理,灰度,二值,检测轮廓,cvFindContours得出个数和面积,通过平均面积和轮廓区域面积进行比较,得出破损和重叠的药片。(已经实现)
4.得到了不同颜色药片的区域了,用cvDrawContours用不同颜色的画线描绘出来。(已经实现)
现在的难题就是第2点,网上找了很多,就是没有代码可以参考,希望有人可以给点代码参考一下!
我认为应该先遍历整张图的rgb像素值,然后设定,比如图像中有白色,红色药片,黑色作为背景。 将图像复制为2份, 先得出了每个位置的rgb值,红色rgb为(255,0,0) 黑色为(0,0,0) 那我可以设定 当 200<r,g<10,b<10时 令RBG=(255,0,0) 其他为(0,0,0)
这样图中只有红黑,然后通过上述3,4步得到结果。
现在就卡在了这一步写程序上面,我是非计算机专业学生,自学了个把月,这一步还是有点问题!!
希望有人能够贴出这一步的参考代码! 不胜感激!!!
因为非专业原因,所以颜色识别的要求会很低,比如只会有 红, 白, 绿这些非常明显颜色的药片,在纯黑为背景下!