Halcon 单相机标定+消除径向畸变

摘要:
单摄像机校准通常是摄像机使用的第一步。只有通过校准,才能准确地获得相机的内部参数,以便于后续操作,如失真消除和1D/2D测量。3) 在校准列中,选择采集助手并单击实时。有两种合格的状态提示。故障通常意味着校准板未完全覆盖。必须删除故障图像,否则无法校准。8) 在代码生成列中,可以插入元组数据或校准代码。

单相机标定通常是相机使用的第一步,只有通过标定才能准确的获得相机的内参,以便于进行消除畸变、1D/2D测量等后续操作。

1、生成标定板描述文件

gen_caltab (7, 7, 0.0125, 0.5, 'caltab.descr', 'caltab.ps')

参数含义可以查手册(f1),运行后会在当前目录下生成两个文件: caltab.descr:标定板描述文件用于接下来的标定 caltab.ps:可用于打印标定板

2、标定助手

1)、描述文件选择刚刚生成的 2)、选择全标定,相元的高、宽可以咨询相机的商家询问,焦距可以查看镜头上,一般有标明,这里的参数只是初始参数。 3)、标定栏,选择采集助手,点实时,有两种合格的状态提示(确定是完美品质,品质有问题不耽误使用),失败一般是没有完全覆盖标定板。 4)、点采集20张左右的图片,尽量覆盖整个视场,覆盖所有角度(3d)。 5)、选择一张图片作为基础参考位姿。 6)、可以保存图片,如果标定后续有可能利用标定助手生成的代码进行标定可以用。失败的图片要移除,否则无法标定。 7)、点击标定,可以看到结果栏的内外参结果,可以保存成文件。用的时候可以直接读取进程序使用。 8)、在代码生成栏,可以插入tuple数据,也可以插入标定代码。

3、实例:单相机标定+消除径向畸变

* 标定 + 消除径向畸变
* Calibration 01: Code generated by Calibration 01
CameraParameters := [0.0057932,-11394.5,6.00136e-006,6e-006,330.616,235.876,640,480]
CameraPose := [0.00223981,-0.00965318,0.110595,6.81103,1.68414,177.246,0]

* Image Acquisition 01: Code generated by Image Acquisition 01
change_radial_distortion_cam_par ('adaptive', CameraParameters, 0, CamParamOut)
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] LRCP  USB2.0', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
while (true)
    grab_image_async (Image, AcqHandle, -1)
    * Image Acquisition 01: Do something
    gen_radial_distortion_map (Map, CameraParameters, CamParamOut, 'bilinear')
    map_image (Image, Map, ImageMapped)
endwhile
close_framegrabber (AcqHandle)

免责声明:文章转载自《Halcon 单相机标定+消除径向畸变》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用PowerMock mock 临时变量go mod位置和自定义包引入问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VisionPro关闭程序断开相机连接

using Cognex.VisionPro.FGGigE; using Cognex.VisionPro.FGGigE.Implementation.Internal; //关闭相机连接,防止程序报错 CogFrameGrabberGigEs cameras = new CogFrameGrabberGig...

衡量镜头解像能力性能的指标-MTF曲线

MTF(Modulation Transfer Function,模量传递函数),是目前分析镜头解像能力的方法,可以用来评判镜头还原物体对比度的能力。说到MTF,不得不先提一下衡量镜头性能的两在重要指标--分辨率和反差。 一、分辨率: 分辨率(Resolution)又称分辨力、鉴别率、鉴别力、分析力、解像力和分辨本领,是指摄影镜头清晰地再现被摄景物纤...

Unity 宽度适配 NGUI

这是很久之前写的一篇Note,现在移到Blog上来,可能有些参数,NGUI插件等等不和现在版本相同.不过大概的思路应该不会错. ps: 可能有部分內容是摘抄自其他作者,没办法考证了,如有请务必联系我.标明来源 大部分游戏都是高度适配,即固定高度,根据宽高比裁剪两边的宽度,而由于这个Note文档是为一个竖版游戏写的.所以有点特立独行的采用了宽度不变适配,而且...

ORB-SLAM3 细读单目初始化过程(上)

作者:乔不思 来源:微信公众号|3D视觉工坊(系投稿) 3D视觉精品文章汇总:https://github.com/qxiaofan/awesome-3D-Vision-Papers/ 学习ORB-SLAM3单目视觉SLAM中,发现有很多知识点需要展开和深入,同时又需要对系统有整体的认知,为了强化记忆,记录该系列笔记,为自己图方便,也希望对大家有所启发。...

Halcon学习笔记1

转:https://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分。 硬件:工程应用的第一步就是硬件选型。硬件选型很关键,因为它是你后面工作的基础。主要是光源、工业相机和镜头选择。 软件:目前业内商业库主要有Halcon,康耐视,DALSA...

解决自定义相机分辨率适配、扭曲的问题

在自定义相机和扫码的时候,如果不设置相机的默认分辨率,有可能导致相机用的是最小的分辨率,照出来的照片很模糊。 所以自定义相机的时候,需要获取屏幕分辨率,相机的预览分辨率,进行最佳的匹配。 由于相机的预览分辨率几乎都是 按照横屏的来描述的,eg 1920*1080 而手机一般是竖屏的,如果自定义的相机是竖屏的,匹配相机预览分辨率的时候,如果直接传入当前的屏幕...