B站 :道传科技上位机 观看教程
一、专业术语
一**.**四种坐标系
1.世界坐标系(World Coordinate System):描述物体在真实空间中的绝对位置。
2.相机坐标系(Camera Coordinate System):以相机光心为原点,光轴为Z轴。
3.图像坐标系(Image Coordinate System):以光轴与成像平面的交点为原点,单位为毫米。
4.像素坐标系(Pixel Coordinate System):以图像左上角为原点,单位为像素。
二、旋转矩阵
在机器视觉中,旋转矩阵用于描述相机坐标系与世界坐标系之间的空间位置关系,通过旋转矩阵可以实现坐标系变换。
二、九点标定过程
为什么要标定
9点标定的算法主要用于建立相机像素坐标与机械手世界坐标之间的转换关系。通过已知的9个点的图像坐标和对应的机械坐标,直接计算转换矩阵,核心原理就是最小二乘拟合。
9点标定的核心在于通过少量的点来精确计算坐标转换关系,适用于2D平面上的仿射变换,9点标定不仅计算简单,而且在实际应用中非常有效。
标定过程
制作9点标定板或者标定图,通常是3*3的阵列排列,确保相机的视野能覆盖到所有的点,一般这些点是圆形的标记。(Mark点或者标定版如下图)
1**、相机拍摄九次获取九个坐标点像素坐标,如左图的mark点 和已知道的世界坐标计算得到标定矩阵**
2**、拍摄一张图片一次获取九个坐标(适用针孔标定) 要在图像视野内**
三、标定算法讲解****制作标定模板
一、制作模板(Mark)shape NCC等
HOperatorSet.CreateShapeModel
二、保存模板到本地(Mark)
HOperatorSet.WriteShapeModel
其他算子 等
HOperatorSet.ReduceDomain
HOperatorSet.DetermineShapeModelParams
四、生成标定文件
一、流程
机器人或者模组走九个点歌拍九张图片,每张图片输出一个XY坐标HOperatorSet.FindShapeModel //模板匹配
HOperatorSet.VectorAngleToRigid //从点和角计算一个刚性的仿射变换。
HOperatorSet.AffineTransPixel(hv_MovementOfObject, 0, 0, out x, out y);//对像素坐标组进行任意的二维仿射变换
//以上执行九次得到九个像素坐标
HOperatorSet.VectorToHomMat2d(hv_Rows, hv_Columns, hv_RowTarget, hv_ColumnTarget,
out hv_HomMat2D); // 像素坐标行/列 世界坐标行/列 //得到变换矩阵
HOperatorSet.HomMat2dToAffinePar //从均匀的2D 变换矩阵的仿射变换参数的计算。 得到XY缩放因子
五、实际流程
一、流程
模板匹配
**HOperatorSet.FindShapeModel //**模板匹配
**HOperatorSet.VectorAngleToRigid //**从点和角计算一个刚性的仿射变换。
HOperatorSet.AffineTransPixel(hv_MovementOfObject, 0, 0, out x, out y);//对像素坐标组进行任意的二维仿射变换
X补偿值=x*X****缩放因子
Y补偿值=y*y****缩放因子

