day2- region&Xld操作
region操作
主要包括以下四种操作
1. union1代码案例:
read_image (Image1, 'C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/board/board-01.png')
//读入一张图片
*union1//将打散区域合并
threshold (Image1, Region, 128, 255)
connection (Region, ConnectedRegions)//将其打散
union1 (ConnectedRegions, RegionUnion)//将打散的合并成一个
实现效果展示:
变成
2. union2代码案例:
read_image (Image1, 'C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/board/board-01.png')
gen_rectangle1 (Rectangle, 30, 20, 100, 200)//创建矩形,矩形左上角(30,20)右下角(100,200)
gen_circle (Circle, 200, 200, 100.5)//创建圆,圆形坐标(200,200)半径100.5
union2 (Rectangle,Circle, RegionUnion1)//将绘制的两个图形进行连接成一个
变成
3. intersection(两个图形取交集)代码案例:
*intersection两个图形取交集
gen_circle (Circle1, 350, 350, 100.5)
gen_circle (Circle2, 380, 380, 100.5)
intersection (Circle1, Circle2, RegionIntersection)
变成
4. difference(将两个相交的区域进行区域相减)代码案例:
*difference可以将两个相交的区域进行区域相减
gen_circle (Circle3, 350, 350, 100.5)
gen_circle (Circle4, 380, 380, 100.5)
difference (Circle3, Circle4, RegionDifference)
变成
5. symm_difference(两个图形相交的区域部分进行去除)代码案例:
*symm_difference将两个图形的相交的区域部分进行去除
gen_circle (Circle5, 270, 350, 100.5)
gen_circle (Circle6, 370, 380, 100.5)
symm_difference(Circle5, Circle6, C5)
注意:区分difference
6. complement(求补集)代码案例:
*complement求补集
gen_circle (Circle7, 170, 250, 100.5)
complement(Circle7, RegionComplement)
变成
region的形状转换
- convex:用于转换为凸形
read_image (Image1, 'C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/board/board-01.png')
gen_rectangle1 (Rectangle1, 30, 20, 100, 200)
gen_rectangle2 (Rectangle2,90,160,rad(-13),80,69)
union2 (Rectangle1, Rectangle2, RegionUnion2)
shape_trans (RegionUnion2, RegionTrans, 'convex')//将其转化为凸形
形
变成
2. rectangle2:用于最小外接矩形
read_image (Image1, 'C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/board/board-01.png')
gen_rectangle1 (Rectangle1, 30, 20, 100, 200)
gen_rectangle2 (Rectangle2,90,160,rad(-13),80,69)
union2 (Rectangle1, Rectangle2, RegionUnion2)
shape_trans (RegionUnion2, RegionTrans, 'rectangle2')//将其转化为最小外接矩形
注意:只需要关注shape_trans (RegionUnion2, RegionTrans, ‘rectangle2’)最后一个变量,可以按F1查看做相应的选择即可
region的区域选择
代码展示:
read_image (Image1, 'C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/board/board-01.png')
*union1//将打散区域合并
threshold (Image1, Region1, 128, 255)
connection (Region1, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions, 'area', 'and', 7000, 99999)
变成
其中查看区域信息的方式:点击上面图标倒数第三个特征检测,选择区域即可
其中,特征检测中的shape有相关的region特性,如:紧密度(compactness)这些也能在帮助中搜索到。