当前位置: 首页 > news >正文

openpnp - 底部相机视觉识别CvPipeLine的参数bug修正

文章目录

    • 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

http://www.lryc.cn/news/467306.html

相关文章:

  • C#从零开始学习(接口,强制转化和is)(7)
  • 算法Day-8
  • 屏蔽小米电视广告的方法
  • C#,自动驾驶技术,ASAM OpenDRIVE BS 1.8.0 规范摘要与C# .NET Parser
  • 玩转PyCharm:常用操作和快捷键
  • HeterGCL 论文写作分析
  • 简单的windows java -jar 无法启动jar包解决方法
  • iPhone图片/照片/视频复制到win10系统的简单方法 - 照片导出
  • ctfshow-文件上传-151-161
  • 【Windows】Microsoft Office 的 .docx .xlsx .pptx 等文件图标消失,变成空白图标
  • 场景化运营与定制开发链动 2+1 模式 S2B2C 商城小程序的融合
  • Axure中继器实现时间读取和修改
  • 数据库聚合函数
  • DevOps的文化观与工具
  • create-vite my-vite-uniapp-project
  • DC系列靶机-DC8
  • 重构复杂简单变量之用对象替换数据值
  • 我国首个自主可控的操作系统——华为原生鸿蒙操作系统正式发布
  • Spring Boot技术栈在论坛网站开发中的应用
  • Fast-LLM:加速大型语言模型训练的开源库
  • 物理安全(Physical Security)
  • Go语言开发环境搭建
  • 嵌入式硬件设计:技术与实践
  • vue中使用echarts,导入JSON数据画图
  • 【C++篇】探索STL之美:熟悉使用String类
  • ETLCloud搭配MySQL | 让关系型数据库更智能
  • Java 开发——(上篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • Psychophysiology:脑-心交互如何影响个体的情绪体验?
  • FunASR实时语音识别内网部署 | 无网络环境中的实时语音识别 | 实时语音识别
  • 【设计模式-状态模式】