图像几何变换-仿射变换
在Halcon中,通过affine_trans_image、affine_trans_region、hom_mat2d_identity、hom_mat2d_rotate等算子实现图像的仿射变换。
示例程序如下:
* 图像仿射变换
* 读取图像
read_image(src,'fabrik')
* 获取图像大小
get_image_size(src,width,height)
* 生成图像大小的矩形
gen_rectangle1(rectangle,0,0,height,width)
* 区域裁剪
reduce_domain(src,rectangle,src_reduced)
* 中心求取
area_center(rectangle,area,row,column)
* 角度转换为灰度
tuple_rad(-45,Rad)
* 放射矩阵计算
vector_angle_to_rigid(row,column,0,row,column+50,Rad,HomMat2D)
* 图像旋转
affine_trans_image(src_reduced,src_affine_trans,HomMat2D,'constant','false')
affine_trans_region(rectangle,region_affine_trans,HomMat2D,'nearest_neighbor')
* 直接定义旋转
hom_mat2d_identity(H1)
area_center(src,area_1,row3,column3)
hom_mat2d_rotate(H1,Rad,column,row,HomMat2DRotate)
affine_trans_image(src_reduced,src_affine_trans_1,HomMat2DRotate,'constant','false')
原图:
程序运行结果: