一、相机标定的目的:
1、摄像头拍出来的原始图片是存在畸变的,我们需要通过标定来矫正这种畸变。
2、相机坐标系 到 世界坐标系 的转化,需要知道图片上像素点的距离转化到实际中代表多长。
3、标定分为内参和外参,内参和相机本身的材质等有关,和其它无关,正常情况下只需标定一次即可。外参和位姿(摄像头和成像平面的相对位置)有关,每次改变都需要重新标定。
二、halcon相机标定流程
1、创建标定板
需要设置标定板的数据。
2、设置相机内部参数的初始值,不同镜头不一样
【焦距,畸变,像素尺寸宽,像素尺寸高,中心点坐标宽,中心点坐标高,图像尺寸】
3、标定板初始化
4、使用标定图像,进行全自动标定
5、获取内参+外参
三、标定方式一:使用标定助手,自动生成代码
基本流程如下截图:
1、新建一个标定
2、按顺序依次设置相关参数
3、导出代码,勾选需要的功能插入代码即可
文章来源:https://www.toymoban.com/news/detail-451539.html
文章来源地址https://www.toymoban.com/news/detail-451539.html
四、标定方式二:自己写代码
*====创建标定板
* XNum 每行黑色标志圆点的数量。
* YNum 每列黑色标志圆点的数量。
* MarkDist 两个就近黑色圆点中心之间的距离。单位是meter
* DiameterRatio 黑色圆点直径与两圆点中心距离的比值。
* CalTabDescrFile 标定板描述文件的文件路径(.descr),是保存文件的路径
* CalTabPSFile 标定板图像文件的文件路径(.ps)
gen_caltab(7,7,0.017,0.47,'0615.descr','0615.ps')
*====标定内参
dev_close_window ()
dev_open_window (0, 0, 648, 486, 'black', WindowHandle)
dev_update_off ()
dev_set_draw ('margin')
dev_set_line_width (3)
OpSystem := environment('OS')
set_display_font (WindowHandle, 14, 'mono', 'true', 'false&
到了这里,关于halcon相机标定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!