B站 :道传科技上位机 观看教程
一、为什么要进行内参标定
相机进行内参标定的核心原因是为消除镜头畸变、准确建立三维空间点与二维图像点的对应关系,从而确保测量精度和图像校正效果。 [1相机内参是描述相机光学系统内部特性的关键参数,包括焦距、畸变系数、光轴位置等,这些参数直接影响成像质量。

二、各种标定的使用场景
内参标定:图像存在畸变
九点标定:需要将图像坐标转换为机械坐标(如定位)
旋转标定:需要进行角度纠偏
仅需内参标定:若相机仅用于图像处理(如测量物体尺寸、检测缺陷等),无需机械手引导,只需完成内参标定即可。
三、标定过程
准备阶段:
1. 首先要获取相机的初始内参(焦距,畸变系数,单个像素的宽,单个像素高,图像 坐标的中心值横坐标,图像坐标中心值的纵坐标,图像宽度,图像高度)
2. 根据标定板的大小利用 gen_caltab 算子,生成描述文件。(保存到指定位置)
3. 拍摄 14—20 组标定板图像(eye_in_hand),并准确记录每组图像在拍摄时 TOOL_IN_BASE 位姿(此位姿从机器人中读取)。 备注:在获取标定图像时,标定板不动,机器人末端的摆动要尽可能的全面,绕各 个轴的旋转角要尽量的大。标定板要出现在相机视野的各个角落。理论上图像越多, 角度越全面,标定精度越高。
gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )
CalPlateDescr:标定板描述文件的文件路径
CalPlatePSFile :标定板图像文件路径,可以用ps打开
gen_caltab( 7, 7, 0.1, 0.5, ‘caltab.descr’, ‘caltab.ps’)
大家可以自己思考一下每个参数的含义 行数:7 列数:7 黑色圆点半径:0.05m 圆点中心间距:0.1m
四、保存标定参数
一、通过halcon标定助手,将标定文件保存到本地
将内参标定参数和外参标定参数保存到本地
五、关键算子
一、流程
//摄像机内参
HOperatorSet.ReadCamPar(Camera.CameraInnerParameterFile, out hv_CamParam);
//摄像机外参(摄像机位姿)
HOperatorSet.ReadPose(Camera.CameraOuterParameterFile, out hv_PoseCalib);
//将图像坐标点转换为世界坐标系(通常为Z=0平面)的算子
HOperatorSet.ImagePointsToWorldPlane(hv_CamParam, hv_PoseCalib, pixelx, pixely, "mm", out worldx, out worldy);
机器视觉内参标定详解
1224

被折叠的 条评论
为什么被折叠?



