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

openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素

文章目录

    • openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素
    • 概述
    • 笔记
      • 设置后的顶部相机效果
      • 设置后的底部相机效果
    • 备注
    • END

openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素

概述

用自己编译的基于openpnp-dev-2024-0208版本,在标定设备。
在这里插入图片描述
顶部相机Z轴径向线的数量为默认的32
底部相机Z轴径向线的数量改为40(默认的32校正失败)
在这里插入图片描述
校正完成后,默认的顶部相机和底部相机的图像都变成了鱼眼形状,如果不放大,看不清图像。
在这里插入图片描述
对于顶部相机,放大到最大倍数,一般可以看清楚图像是啥,但是也没有顶部相机高级校正前看的清楚。
在这里插入图片描述
如果芯片管脚贴歪了,在顶部相机高级校正后,根本看不清。

对于底部相机高级校正,放大到最大倍数,能勉强辨认。但是和底部相机高级校正前的图像效果那是差了好远。
但是这次标定完,即使底部相机放大到最大的图像,看到的图像也无法分辨。
既然人眼无法分辨,那么openpnp用于视觉识别的图像也是如此,导致底部相机高级校正后,视觉归位中的吸嘴校验失败(因为根本就分辨不出是个吸嘴,只能看到是个绿色的大圆点,且这个大圆点还不怎么圆…).
在这里插入图片描述

以前遇到这种情况,做过一个笔记(openpnp - 底部相机高级矫正后,底部相机看不清吸嘴的解决方法)。

当时就是为了解决在底部相机高级校正之后,底部相机看不清图像的问题。

但是我顶部相机有需求要看清啊(贴片之后,贴的效果如何,我要去人工抽检啊),不能因为做了相机(底部相机/底部相机)高级校正,相机的图像就看不清了,这有点违反了高级校正的本意了。

前段时间,遇到顶部相机看不清元件是否贴歪的场景,还临时去将高级校正应用先关掉,观察完,再应用高级校正。感觉这个临时措施不科学。看个东西,就要去开关高级校正应用的开关,这谁受的了啊。

得解决这个贴片的应用问题啊。

笔记

试了一下,在顶部相机/底部相机高级校正后,将顶部相机/底部相机的"裁剪所有无效像素"值都设置为0,就可以达到和顶部相机/底部相机高级校正前一样的效果。这感觉是正道啊。

将顶部相机/底部相机的"裁剪所有无效像素"值都设置为0,并不会影响已经通过的高级校正参数的纠偏应用。
只是将"无效像素都裁剪掉",看到的效果就是相机高级校正之前的效果。
但是在相机高级校正后,已经将设备机械安装的倾斜都纠正了(人工安装的零件,谁能保证安装的绝对垂直呢?)。反正做相机高级校正,好处多多。

设置后的顶部相机效果

在这里插入图片描述
只放大到关心元件的区域效果
在这里插入图片描述
放大到最大的效果
最大的图像,就是摄像头能看到的图像区域。
在这里插入图片描述

设置后的底部相机效果

在这里插入图片描述
只放大到关心元件的区域效果
在这里插入图片描述
放大到最大的效果
最大的图像,就是摄像头能看到的图像区域。
在这里插入图片描述

备注

将顶部相机/底部相机的"裁剪所有无效像素"值都设置为0,心里舒服多了。
这个问题困扰我好久,以至于我怀疑openpnp有bug 😛, 曾经一度不信任最新的openpnp发行版,还特意用了一段时间的openpnp-dev-2022-0801的版本。

现在我就有勇气用openpnp2.0的任何版本了, 不是软件有bug, 是小白不会用.
如果有时间,我也有勇气去尝试用openpnp的测试版,只不过,测试版有时会导致.openpnp2的配置文件不兼容。

这么长时间的openpnp使用体验后,终于知道,openpnp软件是没bug的(站在openpnp的使用者的角度看)。

END

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

相关文章:

  • Vue+TypeScript+SpringBoot的WebSocket基础教学
  • 大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全
  • 13图书归还-云图书管理系统(Vue3+Spring Boot+element plus)
  • 中航资本:“女人的茅台”重挫!超7700亿元英伟达概念业绩爆发
  • day7:软件包管理
  • 探索Konko AI:快速集成大语言模型的最佳实践
  • 网络地址和本地网络地址
  • 【closerAI ComfyUI】AI绘画界新技术RF Inversion图像编辑和风格迁移!能跟ipadapter争高低吗?
  • 【Spring篇】Spring的Aop详解
  • Spring与其他框架的比较
  • 论当前的云计算
  • Spring Boot 整合 RocketMQ 之消息消费手动提交 ACK 实战【案例分享】
  • 胃癌数据集(不定期更新)
  • zh/FAQ/CentOSStream-CentOS Stream 常见问题
  • 多台西门子PLC与多台三菱PLC之间实时通讯的方案(PLC内不用编程)
  • C++ [项目] 恶魔轮盘赌
  • 微信小程序版本更新管理——实现自动更新
  • Python使用Selenium库实现CSDN自动化发帖
  • StringBulider和StringBuffer的底层源码剖析
  • 手机空号过滤接口-在线手机空号检测-手机空号过滤API
  • ubuntu 用ss-TPROXY实现透明代理,基于TPROXY的透明TCP/UDP代理,在 Linux 2.6.28 后进入官方内核。
  • 报错解决:opene3d draw_geometries(): incompatible function arguments.
  • Clickhouse笔记(二) 集群搭建
  • 华为云购买弹性云服务器(教程)
  • Python异常检测- 单类支持向量机(One-Class SVM)
  • 基于SpringBoot+Vue+uniapp微信小程序的婚庆摄影小程序的详细设计和实现(源码+lw+部署文档+讲解等)
  • NGAC访问控制系列三:低代码产品NGAC运用与算法运用
  • Unity3D 面试题收录
  • Jrebel热部署不生效解决
  • 软件测试学习笔记丨Selenium键盘鼠标事件ActionChains