标定采用的程序段
//读取采集到的9点图片
read_image (Image, 'printer_chip/printer_chip_01')
//全局阈值分割
threshold (Image, Region, 128, 255)
//获取图像中的连通域
connection (Region, ConnectedRegions)
//根据性状特征提取对象
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 150, 99999)
//通过面积确定中心点位置
area_center (SelectedRegions, Area, Row, Column)
//图像9点中心
Prow:=[0,1,2,3]
Pcol:=[0,1,2,3]
//机器人9点坐标
Rrow:=[0,1,2,3]
Rcol:=[0,1,2,3]
//仿射变换得到 结果矩阵
vector_to_hom_mat2d (Column, Row, Column, Row, HomMat2D)
//通过结果矩阵 输入图像坐标换算实际坐标
affine_trans_point_2d (HomMat2D, Column, Row, Qx, Qy)
如果我们已经标定得到了 仿射变换后的结果矩阵 我们只需要用这一句就可以
//传入矩阵 然后传入图像结果
affine_trans_point_2d (HomMat2D, Column, Row, Qx, Qy)
affine_trans_point_2d (HomMat2D, Column, Row, Qx, Qy)
//或者 保存图像9点与机器人9点的值 每次都获取一次
//仿射变换得到 结果矩阵
vector_to_hom_mat2d (Column, Row, Column, Row, HomMat2D)
//通过结果矩阵 输入图像坐标换算实际坐标
affine_trans_point_2d (HomMat2D, Column, Row, Qx, Qy)