0%

视觉识别软件

记录一下这个项目的效果,也是2017中国机器人大赛(2017.8 山东 日照)的先进视觉项目。
视觉识别软件使用的是基础数学方法来进行图形的确定。
这里需要精确计算图形的位置和大小等数据。


规则

//圆形、正方形、长方形、椭圆形4种(ID依次为1, 2, 3, 4)
//可乐罐、口香糖、方便桶面、饼干盒4种(ID依次为81, 82, 83, 84)
//黑、红、黄、绿、蓝5种(ID依次为1, 2, 3, 4, 5)
//色块ID[2]:第一个为颜色,第二个为形状


软件界面

软件界面


效果

普通USB摄像头在光线不好的地方效果是很差的,原图因为之前没存,所以就不放上来了,通过opencv调整亮度之后后如下图,在处理的过程中调整的参数都是现场调的
原图

然后进行识别
中心点

标记种类如下图
结果图


识别方法流程

在过程中进行了过滤,外边框是矩形中检测,逆时针轮廓是通过判断中心点的位置来过滤.
具体流程在这里就不写了


颜色判断

  • 判断杂色,通过传入点,向外递归11层,如果两点之间某个通道的差值大于20.说明有杂色.mix标记为1.
  • 单色检测,通过RGB之间的差值来进行判断,拿到的为BGR,colorRange为40
    • 黑色,(B-G)<colorRange&&(B-R)<colorRange&&(G-R)<colorRange //8.16,需要加绝对值
    • 红色,(R-B)>colorRange&&(R-G)>colorRange
    • 黄色,(R-B)>colorRange&&(G-B)>colorRange&&(G-R)<colorRange)
    • 绿色,(G-B)>colorRange&&(G-R)>colorRange
    • 蓝色,(B-G)>colorRange&&(B-R)>colorRange
  • 如果上面没判出来,通过原先的范围判断.三个flag值来判断这几种颜色
听说好看的人都关注了我的公众号《泫言》