工控编程吧

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

作者: qq263946146    时间: 2019-5-11 13:55
标题: halcon gen_circle函数介绍
gen_circle( : Circle : Row, Column, Radius : )
gen_circle生成一个或多个由圆心Row, Column和半径描述的圆。
如果要生成多个圆,则坐标必须以元组的形式传递。
gen_circle只创建对称的圆。
为了实现这一点,半径在内部四舍五入到0.5的倍数。
如果为半径指定整数(即, 1, 2, 3,…)得到了一个均匀的直径,
因此圆只能对一个坐标为0.5的小数部分的中心对称。
因此,中心的坐标在内部适用于小数部分为0.5的最近坐标。


这里,整数坐标四舍五入为下一个较小的值,小数部分为0.5。
对于奇数直径(即,半径= 1.5,2.5,3.5,…),
圆只能是关于一个中心对称与整数坐标。
因此,在内部,中心的坐标四舍五入到最近的整数坐标。
需要注意的是,
上述算法可能导致即使Row和Column中指定的坐标相同,
偶数直径的圆并不包含在下一个更大的奇数直径的圆中。
如果圆超出了图像边缘,
那么如果系统标志'clip_region'的值被设置为'true' (set_system),
那么圆圈将被剪切到当前的图像格式.


由于速度的原因,生成的区域可能在边界上包含额外的像素,
并且边界上的一些单独像素可能丢失。
这可能导致操作符smallest_circle和gen_circle之间的不一致。


Circle为输出的区域,
Row, Column, Radius为输入的圆中心坐标和半径。


例程
read_image(Image,'fabrik')
gen_circle(Circle,300.0,200.0,150.5)
reduce_domain(Image,Circle,Mask)
dev_clear_window ()
dev_display (Mask)

[halcon]1[/halcon]






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