在 Halcon中,透视变换矩阵用于将图像从一个视角转换到另一个视角,常用于图像校正和几何变换。以下是计算透视变换矩阵的步骤及代码示例。
透视形变图像校正的步骤
- 对图像左简单的处理,分割要校正的区域;
- 提取区域的顶点坐标信息;
- 将上面得到的顶点信息计算投影变换矩阵;
- 进行投影变换;
read_image (Image, 'toushi')
* 获取原图的四个角的横纵坐标
Row:=[159,277,357,77]
Col:=[127,120,360,333]
hom_vector_to_proj_hom_mat2d (Row, Col, [1,1,1,1], [75,360,360,75], [110,110,360,360],[1,1,1,1] , 'normalized_dlt', HomMat2D)
*生成一个透视矩阵
*Px:标注投影的起始点Row坐标 至少4个(原先图的4个角的row坐标) 按照顺序去写几个点坐标
*py:标注投影的起始点Col坐标 至少4个(原先图的4个角的Col坐标) 按照顺序去写几个点坐标
*Pw:起始点权重元素为[1,1,1,1]或者[0,0,0,0]
*Qx 目标点Row坐标 至少4个
*Qy 目标点Col坐标 至少4个
*Qw 目标点权重
*Method:计算方式 normalized_dlt 标准的计算法
* HomMat2D 得到仿射矩阵
projective_trans_image (Image, TransImage, HomMat2D, 'bilinear', 'false', 'false')
*使用仿射透视矩阵
*参数5 是否适应变换之后大小
*参数6 是否变换图像域

