文章目录
- 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的使用者的角度看)。