前言
在图像处理中我们有时候对图像或者区域进行纠偏,在刚性变换场景中,图像发生的变化是平移和旋转,本文就来介绍根据单个目标点的平移和旋转来计算如何对图像和区域纠偏。
1、halcon算子应用
csharp
dev_clear_window ()
gen_rectangle2 (Rectangle, 300, 200, rad(30), 100, 20)
area_center (Rectangle, Area, Row1, Column1)
orientation_region (Rectangle, Phi)
vector_angle_to_rigid (Row1, Column1, Phi, Row1, Column1, 0, HomMat2D1)
affine_trans_region (Rectangle, RegionAffineTrans, HomMat2D1, 'nearest_neighbor')
vector_angle_to_rigid 用于计算刚性变换矩阵,该算子有7个参数
参数1变换前目标中心点的行坐标
参数2变换前目标中心点的列坐标
参数3变换前目标角度(单位为弧度)
参数4变换后目标中心点的行坐标
参数5变换后目标中心点的列坐标
参数6变换后目标角度(单位为弧度)
参数7是从变换前到变换后的刚性变换矩阵
上面的halcon代码的作用是将目标区域从角度Phi变为角度0.
2、 纠偏效果
下图中绿色是纠偏前,红色为纠偏后,可以看出矩形经过变换后变为角度为0。
