工控编程吧

标题: halcon polar_trans_contour_xld函数介绍 [打印本页]

作者: qq263946146    时间: 2019-5-19 23:18
标题: halcon polar_trans_contour_xld函数介绍
polar_trans_contour_xld(Contour : PolarTransContour : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height : )
函数将一个由
圆点Row, Column
长短半径RadiusStart, RadiusEnd
起止角度AngleStart, AngleEnd
所构成的圆环轮廓Contour
转换成对应极坐标下的版本PolarTransContour 。
在长宽为Width, Height图像上显示。
结果轮廓PolarTransContour 在此虚拟图像边缘被剪切。

输出轮廓中的坐标(0,0)始终对应于RadiusStart和AngleStart指定的轮廓点。
类似地,输出轮廓中的坐标(i-1,Width-1)总是对应于轮廓中RadiusEnd和AngleEnd指定的点,即使轮廓不包含这些点。
在通常模式下(AngleStart < AngleEnd和RadiusStart < RadiusEnd),
极坐标变换是以数学上的正方向(逆时针方向)进行的。
此外,半径较小的轮廓点位于输出轮廓的上部。
通过适当地交换这些参数的值(例如,AngleStart>AngleEnd或RadiusStart > RadiusEnd),
可以实现输出轮廓PolarTransContour 的任意方向的改变。

角可以是实数中,中心点和半径也可以是实数。
反向转换对应的函数为polar_trans_contour_xld_invpolar_trans_contour_xld_inv(PolarContour : XYTransContour : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn, Width, Height : )
polar_trans_contour_xld生成的轮廓PolarContour 反向转换成笛卡儿坐标下轮廓结果存储于XYTransContour
前面几个参数Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn和polar_trans_contour_xld的一致。
Width, Height表示笛卡儿坐标下结果图像的长宽。

例程
Row :=250
Column:=250
AngleStart:=rad(45)
AngleEnd:=rad(135)
RadiusStart:=100
RadiusEnd:=150
PolarTransWidth := 512
PolarTransHeight := 50


gen_circle_sector (CircleSector, Row, Column, RadiusStart, AngleStart, AngleEnd)
gen_circle_sector (CircleSector1, Row, Column, RadiusEnd, AngleStart, AngleEnd)
difference (CircleSector1, CircleSector, RegionDifference)
gen_contour_region_xld (RegionDifference, Contours, 'border')
polar_trans_contour_xld (Contours, PolarTransContour, Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, PolarTransWidth, PolarTransHeight)
polar_trans_contour_xld_inv (PolarTransContour, XYTransContour, Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, PolarTransWidth, PolarTransHeight, 512, 512)

例程用当量生成圆环区域,再将此区域转换成XLD轮廓,
最后调用polar_trans_contour_xld 转换成极坐标下对应轮廓。
仅是对此函数效果的观察。
[halcon]1[/halcon]

















欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4