Halcon区域集合运算及变换
difference(Region, Sub : RegionDifference : : )
示例:difference (RegionUnion, ObjectSelected1, RegionDifference)
RegionUnion(输入对象):输入大的区域对象
ObjectSelected1(输入对象):输入小的区域对象
RegionDifference(输出对象):输出大的区域减去小的区域对象的区域
两个区域的交集:intersection
算子:
intersection(Region1, Region2 : RegionIntersection : : )
示例:intersection (Rectangle, Rectangle1, RegionIntersection)
Rectangle(输入对象):输入第一个区域对象
Rectangle1(输入对象):输入第二个区域对象
RegionIntersection(输出对象):输出两个区域相交的区域对象
区域变换
断开不相连的区域:connection
算子:connection(Region : ConnectedRegions : : )
示例:connection (Region1, ConnectedRegions)
Region1(输入对象):输入一个连成一块的对象
ConnectedRegions(输出对象):输出断开不相连的各个区域
区域填充:fill_up
算子:fill_up(Region : RegionFillUp : : )
示例:fill_up (Region, RegionFillUp)
Region(输入对象):输入需要填充的对象
RegionFillUp(输出对象):输出填充好的区域对象
抠图:reduce_domain
算子:reduce_domain(Image, Region : ImageReduced : : )
示例:reduce_domain (GrayImage, RegionFillUp, ImageReduced)
GrayImage(输入对象):输入灰度图对象
RegionFillUp(输入对象):输入二值化区域
ImageReduced(输出对象):输出灰度图图像
区域变换为矩形或者是圆 内接或者是外接 参数控制shape_tran
算子:shape_trans(Region : RegionTrans : Type : )
示例:shape_trans (ObjectSelected1, RegionTrans, 'rectangle1')
ObjectSelected1(输入对象):输入一个区域对象
RegionTrans(输出对象):输出变换后的区域对象
'rectangle1'(输入控制参数):输入需要变换成什么类型 内接外接矩形 内接外接圆等等
求取区域骨架:skeleton
算子:skeleton(Region : Skeleton : : )
示例:skeleton (RegionTrans, Skeleton)
RegionTrans(输入对象):输入一个区域对象
Skeleton(输出对象):输出这个区域的骨架 骨架是由单个像素连接起来的
对多个区域进行排序:sort_region
算子:sort_region(Regions : SortedRegions : SortMode, Order, RowOrCol : )
示例:sort_region (SelectedRegions, SortedRegions, 'first_point', 'true', 'column')
SelectedRegions(输入对象):输入多个区域
SortedRegions(输出对象):输出排序后的多个区域
'first_point'(输入控制参数类型):排序模式
'true'(输入控制参数顺序):是否是按顺序
'column'(输入控制参数方向):low是从上到下 column是从左到右排序 方向选择
对多个队形进行数数:count_obj
算子:count_obj(Objects : : : Number)
示例:count_obj (SortedRegions, Number)
SortedRegions(输入对象):输入多个区域对象
Number(输出控制参数):输出区域的个数