Halcon二维仿射变换实例探究 二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。 Halcon中进行仿射变换的常见步骤如下:① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0.0]);② 在初始化矩阵的基础上,使用hom_mat2d_translate(平移)、hom_mat2d_rotate(旋转)、hom_mat2d_scale(缩放)等生成仿射变换矩阵;(这几个算子可以叠加或者重复使用)③ 根据生成的变换矩阵执行仿射变换,执行仿射变换的算子通常有:affine_trans_image、affine_trans_region、affine_trans_contour_xld,即不管对于图像、区域、XLD都可以执行仿射变换。 下面用一个完整程序分别展示hom_mat2d_translate(平移)、hom_mat2d_rotate(旋转)、hom_mat2d_scale(缩放)这三个算子的的具体功能。(特别要注意程序注释部分)hom_mat2d_translate( : : HomMat2D, Tx, Ty : HomMat2DTranslate)hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)hom_mat2d_scale( : : HomMat2D, Sx, Sy, Px, Py : HomMat2DScale) 程序所用图片如下: 1 read_image (Image, ‘hogn-1.jpg’)
2 threshold (Image, Region, 0, 200)
3 o
仿射变换
最新推荐文章于 2023-09-27 15:51:00 发布