卖菜网站应该怎么做,天津专门做网站的公司的电话,网站建设必须买数据库么,怎样用文本建一个网站文章目录 openpnp - 底部相机视觉识别的CvPipeLine的参数bug概述笔记openpnp的视觉识别参数的错误原因备注补充 - 如果要直接改默认的底部视觉要注意END openpnp - 底部相机视觉识别的CvPipeLine的参数bug
概述
底部相机抓起一个SOD323的元件#xff0c;进行视觉识别。 识别… 文章目录 openpnp - 底部相机视觉识别的CvPipeLine的参数bug概述笔记openpnp的视觉识别参数的错误原因备注补充 - 如果要直接改默认的底部视觉要注意END openpnp - 底部相机视觉识别的CvPipeLine的参数bug
概述
底部相机抓起一个SOD323的元件进行视觉识别。 识别出的矩形错了是一个很长的长方形长方形的短边和器件差不多宽但是长边比器件长10倍。导致识别出错。 因为这时无论怎么填写封装的长和宽都无法正确识别。 当识别出错时用CvPipeLine的Edit功能找到了问题。 原来是openpnp给的默认识别参数整错了改了一下OK.
笔记
因为大部分元件识别都是好的且用的都是默认的底部相机视觉。 所以有个别元件识别错误后要针对这个元件进行视觉识别的参数修正而不能去动默认的底部视觉参数。 FilterContours命令识别的范围多了导致识别了吸嘴圆形帽子上的一个点这要继续过滤。
在FilterContours命令后面默认就有个MaskCircle命令默认的diameter是0即不过滤。 这就导致后续命令用的图像在元件很远的地方有个点(FilterContours命令带过来的) 将MaskCircle的参数diameter改为300基本就圈住了元件附近再远的图像就用这个圈过滤掉了。 MaskCircle后面默认的后续命令是DrawContours 默认用的输入图像是filterContours的结果这就不对了因为针对这个元件filterContours识别的多了(除了元件还有离元件很远的一个点)
将DrawContours的参数contourStageName改为11(就是MaskCircle命令实例名称为11的结果), 这回就OK了。
在后续的命令处理后红框就只框在元件的引脚外框上。
openpnp的视觉识别参数的错误原因
在FilterContours和DrawContours命令之间加了一个MaskCircle命令(但是MaskCircle默认没做过滤)。 估计官方也考虑到给的视觉识别参数无法适应所有的吸嘴和元件所以给用户留了一个改正的节点。 但是DrawContours的输入没有用MaskCircle命令的处理结果这就是bug了。
备注
对openpnp的视觉处理参数也不熟, 主要是官方也没有文档专门讲这个。 以前都用默认的, 如果真出现问题无奈还真不知道怎么弄。
这次发现识别的有问题在设备开着时抓一个这种元件进行底部相机视觉识别如果识别错误或者识别的不稳定这时就可以在线编辑调试视觉识别参数。
还好经过简单的修改能正确识别了。
虽然不太懂官方为啥给这些命令进行图像识别的处理但是大概齐知道啥意思。 图像识别处理的大概流程如下:
从摄像头捕获图像进行颜色转换用蒙版屏蔽不需要的区域(e.g. 吸嘴/元件以外的区域)转成黑白图像画出最小矩形重新载入摄像头的图像将矩形换成红色显示
补充 - 如果要直接改默认的底部视觉要注意
元件的默认底部视觉都是全局的默认底部视觉。 最好是每个封装单独给一个配置来改视觉。 开始没注意直接改的底部视觉。 因为加入了MaskCircle命令名字为11参数diameter值改为了300其他用默认底部视觉的元件出现了奇怪问题。 e.g. LQFP32元件对齐后居然是45度。导致贴到板子上角度也是错的。 如果要改全局视觉MaskCircle命令名字为11参数diameter值应该改为-1代表不过滤任何图像即输入图像直接转成输出图像。
END