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')

输出结果:

原图

halcon中图像极坐标变换

极坐标变换图:

halcon中图像极坐标变换