35.3、仿射变换---根据仿射变换矩阵进行仿射变换

对图像、ROI、XLD进行仿射变换

1、affine_trans_contour_xld(Contours : ContoursAffinTrans : HomMat2D : )

    功能:对XLD轮廓进行二维反射变换,支持缩放,旋转,平移,斜切

    Contours:输入原XLD

    ContoursAffinTrans:输出根据仿射变换矩阵变换后的XLD

    HomMat2D:输入仿射变换矩阵

2、affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : )

    功能:对图像轮廓进行二维仿射变换,支持缩放,旋转,平移,斜切

    Image:输入要进行变换的图像

    ImageAffinTrans:输出反射边防后的图像

    HomMat2D:输入仿射变换矩阵

    Interpolation:输入插值算法。参数列表:'nearest_neighbor', 'bilinear', 'constant', 'weighted'

                注:如果对精度要求高的建议选择'bilinear'

    AdaptImageSize:输入结果图像尺寸是否自适应。默认值为'false'

3affine_trans_pixel( : : HomMat2D, Row, Col : RowTrans, ColTrans)    

    功能:对像素进行任意二维仿射变换

    HomMat2D:输入仿射变换矩阵

    Row, Col:输入原坐标组

    RowTrans, ColTrans:输出变换后的坐标组

4、affine_trans_point_2d( : : HomMat2D, Px, Py : Qx, Qy)

    功能:对点进行任意二维变换,,支持缩放,旋转,平移,斜切

    HomMat2D:输入仿射变换矩阵

    Row, Col:输入原坐标组

    RowTrans, ColTrans:输出变换后的坐标组

    注:优先使用这个算子,而不是第3

    描述:affine_trans_pixel和affine_trans_point_2d的区别:前者使用的图像坐标系的原点在图像左上角,后者使用

         标准图像坐标系,原点在左上角像素的中心。下面2中方法等效

    (1)、affine_trans_pixel(HomMat2D, Row, Col ,RowTrans, ColTrans)    

    (2)、affine_trans_point_2d (HomMat2D, Row + 0.5, Col + 0.5 ,RowTmp, ColTmp)    

        RowTrans := RowTmp – 0.5

        ColTrans := ColTmp – 0.5

    建议:halcon的大部分算子都是行在前列在后,为了避免混淆,建议所有算子都按照这个规则

5、affine_trans_polygon_xld(Polygons : PolygonsAffinTrans : HomMat2D : )

    功能:对XLD多边形进行任意二维仿射变换

6、affine_trans_region(Region : RegionAffineTrans : HomMat2D, Interpolate : )

    功能:对区域进行任意的二维仿射变换

 

 

 

 

posted @   ihh2021  阅读(683)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示