工控编程吧
标题:
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_inv
polar_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