康耐德智能

 康耐德智能,点胶AOI系统专家!

 服务热线:0769-28680919  手机:15322933971

图片展示
搜索

仿射变换

作者:康耐德智能 浏览:104 发表时间:2020-12-10 08:47:26 来源:网络资源

仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。


仿射变换能够保持图像的“平直性”,包括旋转,缩放,平移,错切操作。一般而言,仿射变换矩阵为2*3的矩阵,第三列的元素起着平移的作用,前面两列的数字对角线上是缩放,其余为旋转或者错切的作用。


对应数学表达式为:



对应的齐次坐标矩阵表示形式为:


其中A为变换后坐标矩阵,C为原始坐标矩阵,B是仿射变换矩阵


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_imageaffine_trans_regionaffine_trans_contour_xld,即不管对于图像、区域、XLD都可以执行仿射变换。


程序所用图片如下:


read_image (Image, 'hogn-1.jpg')

threshold (Image, Region, 0, 200)

opening_circle (Region, Region, 1.5)

connection (Region, ConnectedRegions)

select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)

*得到变换的中心点

area_center (SelectedRegions, Area, Row, Column)

dev_set_draw ('margin')

 

*hom_mat2d_translate中的两个参数的意思是:Tx和Ty分别代表Row方向和Column方向的平移量

dev_display (Image)

disp_cross (3600, Row, Column, 10, 40)

hom_mat2d_identity (HomMat2DIdentity)

hom_mat2d_translate (HomMat2DIdentity,30, 150, HomMat2DTranslate)

affine_trans_region (Region, RegionAffineTrans, HomMat2DTranslate, 'nearest_neighbor')

 

*hom_mat2d_rotate中的三个参数的意思是:旋转角度(逆时针为正,弧度制),旋转中心的row和column值

dev_display (Image)

disp_cross (3600, Row, Column, 10, 40)

hom_mat2d_rotate (HomMat2DIdentity, rad(20), Row, Column, HomMat2DRotate)

affine_trans_region (Region, RegionAffineTrans, HomMat2DRotate, 'nearest_neighbor')

 

*hom_mat2d_scale中的四个参数的意思是:Sx和Sy分别代表Row方向和Column方向的缩放系数,缩放中心的row和column值

dev_display (Image)

disp_cross (3600, Row, Column, 10, 40)

hom_mat2d_scale (HomMat2DIdentity, 2.0, 1.05, Row, Column, HomMat2DScale)

affine_trans_region (Region, RegionAffineTrans, HomMat2DScale, 'nearest_neighbor')




广东省东莞市南城区黄金路1号天安数码城C2-507

电话:0769-28680919

手机:15322933971

邮箱:csray@csray.com

版权所有:东莞康耐德智能控制有限公司

在线客服
联系方式
热线电话
0769-28680919
手机服务
15322933971
上班时间
周一到周五
二维码
二维码
在线客服