实现检测整列的圆柱形物体,找出其中空位的和倒置的物体
-
如题,怎样实现这种功能。
1.圆柱形物体放置在8x8阵列料盘上,相机从上向下拍圆形端面。
2.找出64个位置中有空缺的,或倒置的圆柱形(圆形轮廓与正放不同)
3.标注位置并输出信号
需要用到那几个模块,实现途径。
find_circles识别圆
template_matching模板匹配
还是什么途径?
-
既然是流水线上的工件,那么在摄像头中的位置就是固定的了。
所以用统计信息http://book.openmv.cc/image/statistics.html
因为如果是空缺,和有目标,颜色信息是不同的。
-
如图的料盘和物品,有无料会有空缺,倒置可能很难区分,
是否有其他方式,如模板匹配,
我是小白,不好意思
-
你得上传一下,倒置和正常的对比图片
-
@kidswong999 现在没这个条件再拍,先就目前这个图片,怎么处理呢,谢谢
-
-
@kidswong999 具体怎么做呢,不好意思,小白一个
-
指定位置的统计信息啊,比如有工件的就黑一点,没工件的就白一点。
-
@kidswong999 整个画面有72个点位置,需要一个个用ROI统计么,72个ROI么,而且光线变化了是不是会误判断啊
还有其他方法可以么
-
72个ROI有什么问题吗?
光线变了会误判。
其他的方法,可以试一下模版匹配。
-
我现在用模板匹配来测试,
r = img.find_template(template, 0.70, step=4, search=SEARCH_EX) #, roi=(10, 0, 60, 60))
if r:
img.draw_rectangle(r,color=0)
为什么只能匹配出一个出来,不是应该匹配出4个么,是不是默认匹配一个呢,哪个地方可以设置匹配个数呢
-
模版是一个矩形,你另外3个,贴在一起了
-
分开也一样,它会匹配到另一个上面,就是还只有一个
-
模版匹配是返回的列表,并不是一个。