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'
3、affine_trans_pixel( : : HomMat2D, Row, Col : RowTrans, ColTrans)
功能:对像素进行任意二维仿射变换
HomMat2D:输入仿射变换矩阵
4、affine_trans_point_2d( : : HomMat2D, Px, Py : Qx, Qy)
功能:对点进行任意二维变换,,支持缩放,旋转,平移,斜切
HomMat2D:输入仿射变换矩阵
注:优先使用这个算子,而不是第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)
建议:halcon的大部分算子都是行在前列在后,为了避免混淆,建议所有算子都按照这个规则
5、affine_trans_polygon_xld(Polygons : PolygonsAffinTrans : HomMat2D : )
功能:对XLD多边形进行任意二维仿射变换
6、affine_trans_region(Region : RegionAffineTrans : HomMat2D, Interpolate : )
功能:对区域进行任意的二维仿射变换
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)