affine_trans_image (Image, ImageAffineTrans, HomMat2D , 'constant', 'false')
Image----输入图像
ImageAffineTrans-----仿射变换后图像
HomMat2D------变换矩阵
'constant'----插值方式
'false'-----调节输出图像大小
note:
halcon中进行仿射变换思路:先定义仿射变换单位矩阵(or直接生成),
然后再向变换矩阵中添加需要变换的矩阵,多个组合矩阵可以先后添加
进去,当添加完所有变换矩阵后,在做仿射变换。(需要考虑先后添加顺序)
其中,HomMat2DIdentity=[1 0 0;0 1 0;0 0 1]是单位矩阵
hom_mat2d_identity (HomMat2DIdentity) 得到单位矩阵
1.平移变换
相关算子:
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity, 64, 64, HomMat2DTranslate)
其中:
HomMat2DIdentity--是单位矩阵;
64----是行和列的平移量;
HomMat2DTranslate---变换后的新矩阵。
2.比例缩放
相关算子:
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_scale (HomMat2DIdentity, Sx, Sy, Px, Py, HomMat2DScale)
其中:
HomMat2DIdentity--是单位矩阵;
Sx,Sy-------------是缩放倍数;
Px,Py------------表示基准点(此点固定不变)
HomMat2DTranslate---变换后的新矩阵。
3.旋转变换
相关算子:
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_rotate (HomMat2DIdentity, Phi, Px, Py, HomMat2DRotate)
其中:
HomMat2DIdentity--是单位矩阵;
Phi------ -------是旋转角度;
Px,Py------------表示旋转基准点(旋转中心)
HomMat2DTranslate---变换后的新矩阵。