halcon幾何變換(仿射變換)


旋轉、平移、鏡像、縮放、斜切,可參考https://blog.csdn.net/machaoyu86/article/details/51182473

仿射變換前,需要獲得仿射變換矩陣。

關於shape_trans(Region : RegionTrans : Type : ),內、外接圓、矩形,凸包。可參考https://blog.csdn.net/u012551485/article/details/75136664

以halcon自帶案例check_blister.hdev為例,部分代碼且有改動:

思路:原圖——R通道圖——二值圖——凸包圖——旋轉后彩色圖(角度很小)

dev_update_window ('off') //停止更新窗體
dev_close_window () //關閉窗體
read_image (ImageOrig, 'blister/blister_reference')
dev_open_window_fit_image (ImageOrig, 0, 0, -1, -1, WindowHandle) //窗口大小適應圖片
access_channel (ImageOrig, Image1, 1) //通道1,R圖
threshold (Image1, Region, 90, 255) //二值化,灰度直方圖工具
shape_trans (Region, Blister, 'convex') //凸包,內部都被填充
orientation_region (Blister, Phi) //區域方向,獲得角度值Phi,范圍[-Π,Π)
area_center (Blister, Area1, Row, Column) //獲得面積、質心坐標
vector_angle_to_rigid (Row, Column, Phi, Row, Column, 0, HomMat2D) // 獲得仿射變換矩陣HomMat2D
affine_trans_image (ImageOrig, Image2, HomMat2D, 'constant', 'false') //對圖像進行仿射變換,插值算法constant
dev_update_window ('on') //更新窗體

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM