halcon图像仿射变换原则

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---变换后的新矩阵。


 

你可能感兴趣的:(halcon学习笔记)