opencv进行药片识别,在区分颜色方面的一点小小问题

yk_blake 2013-04-02 11:22:15
目前在做一个设计,就是在一堆药片里面区分出不同颜色的药片以及破损的药片。
我的思路:
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步得到结果。

现在就卡在了这一步写程序上面,我是非计算机专业学生,自学了个把月,这一步还是有点问题!!

希望有人能够贴出这一步的参考代码! 不胜感激!!!
因为非专业原因,所以颜色识别的要求会很低,比如只会有 红, 白, 绿这些非常明显颜色的药片,在纯黑为背景下!
...全文
1989 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chmuggmwtg 2015-08-07
  • 打赏
  • 举报
回复
做样本不知道可不可行?对各药做二值化,然后相减,差最小就是最接近的
Yu珊如此可爱 2015-07-21
  • 打赏
  • 举报
回复
我也想知道代码怎么写
underclassHero 2015-07-08
  • 打赏
  • 举报
回复
转化到HSV颜色空间下,然后inrange设置阀值筛选热点区域,然后用H分量设置阀值筛选颜色,再筛选轮廓标示出来
kaaixinpi 2015-03-26
  • 打赏
  • 举报
回复
我现在也在思考这个,请问一下,你实现了吗?可否发个源码,参考一下,谢谢!
zhangweina_nk 2013-05-23
  • 打赏
  • 举报
回复
先做一个RGB模板,用RGB空间做颜色识别 楼主可以参考下我的博客,呵呵
XQ认证v 2013-05-18
  • 打赏
  • 举报
回复
可以把你的这个程序发给我吗?我参考做一个程序。
yk_blake 2013-04-02
  • 打赏
  • 举报
回复


还是不会写代码... 如图这一个 请大神帮忙如何提取不同颜色 一个绿色,一个粉红,一个白色。

目前想法是三张2值图提取三个不同颜色,然后按照已经写得3,4步来进行

现在就卡在提取颜色这一步。 上面的那个hsv的我实验了 貌似提取不出来...
yk_blake 2013-04-02
  • 打赏
  • 举报
回复
引用 1 楼 kyotrue 的回复:
写程序有什么问题?
感觉将H S 处的cvScalar更改就可以了 现在还没出来 还在看颜色的组成等等!
yk_blake 2013-04-02
  • 打赏
  • 举报
回复
引用 1 楼 kyotrue 的回复:
写程序有什么问题?
就是这一步的程序不知道该怎么下手 目前正在看http://blog.csdn.net/lvwx369/article/details/7907642 打算试着找这个方式写
kyotrue 2013-04-02
  • 打赏
  • 举报
回复
写程序有什么问题?

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧