halcon中图像极坐标变换
1、极坐标系(polar coordinates)是指在平面内由极点、极轴和极径组成的坐标系。在平面上取定一点O,称为极点。从O出发引一条射线Ox,称为极轴。再取定一个单位长度,通常规定角度取逆时针方向为正。这样,平面上任一点P的位置就可以用线段OP的长度ρ以及从Ox到OP的角度θ来确定,有序数对(ρ,θ)就称为P点的极坐标,记为P(ρ,θ);ρ称为P点的极径,θ称为P点的极角。
2、极坐标系的变化:选取极坐标原点,并在原坐标系变换为极坐标系的过程叫做极坐标系的变换,关键点在于极坐标原点的选取以及起始角的设置。
3、在halcon中对应的算子
(1)极坐标的展开:polar_trans_image_ext(Image : PolarTransImage : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height, Interpolation : )
(2)极坐标的逆变换:polar_trans_image_inv(PolarImage : XYTransImage : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height, Interpolation : )
其中:Row, Column分别为圆环的中心行列坐标, AngleStart, AngleEnd为起始和终止的角度值,RadiusStart, RadiusEnd为起始和终止的半径角度值, Width, Height为输出图片的宽和高。
4、halcon实例程序
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
read_image (Image, 'C:/Users/admin/Desktop/timg.jpg')
draw_circle (WindowHandle, Row1, Column1, Radius)
gen_circle (Circle, Row1, Column1, Radius)
reduce_domain (Image, Circle, ImageReduced)
polar_trans_image_ext (ImageReduced, PolarTransImage,Row1, Column1, 0, 6.28319, 0, Radius, 6.28319*Radius, 800, 'nearest_neighbor')
polar_trans_image_inv (PolarTransImage, XYTransImage, Row1, Column1, 0, 6.28319, 0, Radius, 6.28319*Radius, 800, 'nearest_neighbor')
输出结果:
原图
极坐标变换图: