Halcon实现平移九点标定

54Halcon之平移九点标定

在这里插入图片描述

* 平移,九点标定
* 引导定位
* 将相机的图像坐标转换到轴移动的坐标

*** 需求 图像上的九个点坐标,和对应的轴在这9个点时的xy的位置

*** 1,图像九个点
PixelRow:= [1367,1364,1363,1386,1383,1381,1406,1403,1400]

PixelColumn := [2472,2490,2509,2473,2492,2512,2476,2496,2514]


*** 2.对应机械轴的九个点
RobotRow := [0.0,0.0,0.0,0.5,0.5,0.5,1.0,1.0,1.0]
RobotColumn :=[0.0,0.5,1.0,0.0,0.5,1.0,0.0,0.5,1.0]


*** 3.生成仿射变换矩阵(由这个矩阵,就是计算出图像上的位置时,就通过这个矩阵可以转换出机械轴移动位置)
vector_to_hom_mat2d (PixelRow, PixelColumn, RobotRow, RobotColumn, HomMat2D)

* 4.保存矩阵
write_tuple (HomMat2D, 'D:/九点标定矩阵.tup')


* 5.读取矩阵
read_tuple ('D:/九点标定矩阵.tup', HomMat2D2)

* 6 像素坐标转机械轴坐标
affine_trans_point_2d (HomMat2D, 1200, 3600, Qx, Qy)


PixelRow:= [1367,1364,1363,1386,1383,1381,1406,1403,1400]
PixelColumn := [2472,2490,2509,2473,2492,2512,2476,2496,2514]
RobotRow := [0.0,0.0,0.0,0.5,0.5,0.5,1.0,1.0,1.0]
RobotColumn :=[0.0,0.5,1.0,0.0,0.5,1.0,0.0,0.5,1.0]
** 构建仿射变换矩阵
vector_to_hom_mat2d (PixelRow, PixelColumn, RobotRow, RobotColumn, HomMat2D)
*保存矩阵
write_tuple (HomMat2D, '九点标定.tup')


*读取矩阵
read_tuple ('九点标定.tup', HomMat2D)
*利用求出来的物体行列坐标得到机器坐标
affine_trans_point_2d (HomMat2D, PixelRow, PixelColumn, Qx1, Qy1)
affine_trans_point_2d (HomMat2D, 1367, 2472, Qx1, Qy1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值