本文參考博客:https://blog.csdn.net/qq_20161893/article/details/72917780,在此基礎上按照自己的理解,進行了整理
一、Halcon圖像處理的兩個坐標系

coordinate system
standard image coordinate system
(0,0) to (Width-1,Height-1) (-0.5,-0.5) to (Width+0.5, Height+0.5)
二、各個算子使用的坐標系
1)affine_trans_pixel,affine_trans_contour_xld,affine_trans_region,affine_trans_image: 第一個坐標系,像素坐標系
eg1:affine_trans_pixel

eg2:affine_trans_image
//繞着圖像中心點旋轉90度
area_center(Image,Area,Row,Column)//這是基於標准圖像坐標系
vector_angle_to_rigid(Row,Column,0,Row,Column,rad(90),HomMat2D)
//以下兩個運算交換下順序也可以,因為矩陣乘法滿足結合律
hom_mat2d_translate(HomMat2D, 0.5, 0.5, HomMat2DTmp) //矩陣左乘
hom_mat2d_translate_local(HomMat2DTmp, -0.5, -0.5, HomMat2DAdapted) //矩陣右乘,基於本地坐標系
affine_trans_image(Image, ImageAffinTrans, HomMat2DAdapted, 'constant', 'false') //這是基於像素坐標系
//繞着圖像中心點旋轉90度(另一種實現方式)
get_image_size(Image,Width,Height)
Row := Height/2
Column := Width/2
vector_angle_to_rigid(Row,Column,0,Row,Column,rad(90),HomMat2D)
affine_trans_image(Image, ImageAffinTrans, HomMat2DAdapted, 'constant', 'false')
//繞着圖像中心點旋轉90度(第三種實現方式)
area_center(Circle,Area, Row,Column)
vector_angle_to_rigid(Row+0.5,Column+0.5,0,Row+0.5,Column+0.5,rad(90),HomMat2D)
affine_trans_image(ImageResult,ImageAffinTrans2,HomMat2D,'constant', 'false')

2)affine_trans_point_2d, area_center:第二個坐標系,標准圖像坐標系
