逻辑运算一般是三种:交集、并集、补集。
通过这三种运算,可以实现区域之间的 “加法”、“减法”、“交集”的运算。
加法
:其实就是并集,在halcon中使用算子union;
union有两种 : union1和union2
union1 是将图形变量里的离散的区域组成一个区域,特征之一是数量的变化,count 由 >=1 变为 =1
union2 是将两个图形变量组合成一个整体的区域,输出的图形的count数量为1
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 128, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions2, ['rectangularity','area'], 'and', [0.93355,26290.3], [1,50000])
union1 (SelectedRegions2, RegionUnion)
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 128, 255)
connection (Region, ConnectedRegions)
*筛选出矩形区域
select_shape (ConnectedRegions, SelectedRegions2, ['rectangularity','area'], 'and', [0.93355,26290.3], [1,50000])
union1 (SelectedRegions2, RegionUnion)
*筛选出圆形区域
select_shape (ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [110.26,0.506], [50000,1])
union1 (SelectedRegions, RegionUnion1)
*圆形和矩形合并
union2 (RegionUnion, RegionUnion1, RegionUnion2)
转载自:https://blog.csdn.net/WING__NG/article/details/135797380