24.2、形态学--腐蚀算子
数字形态学是由一组形态学的代数运算子组成的。最基本的形态学运算子有:腐蚀(erosion)、膨胀(dilation)、开(opening)、闭(closing)和骨骼(skeleton)。Halcon的形态学运算有基于二值图区域的形态学算子和基于灰度图区域的形态学算子,下面主要介绍基于二值图像区域的形态学算子。
- 腐蚀
腐蚀在数字形态学运算中的作用是消除物体边界点。如果结构元素去除3*3的黑点块,腐蚀将是物体边缘的边界沿周边减少一个像素(平移交分析,锚点默认是结构元素的中心)。
腐蚀可以把小于结构元素的物体去除,这样选取不同大小的结构元素,就可以去掉不同大小的物体。
如果两个物体之间有细小的连通,那么当结构元素足够大时,通过腐蚀运算可以讲两个物体分开。
1、erosion1(Region, StructElement : RegionErosion : Iterations : )
功能:使用用户自定义的结构元素进行腐蚀。结构元素是一个区域region,可以有这些算子产生:gen_circle,
gen_rectangle1, gen_rectangle2, gen_ellipse, draw_region, gen_region_polygon, gen_region_points
Region:输入要腐蚀的区域
StructElement:输入结构元素(region)
RegionErosion:输出腐蚀的结果
Iterations:迭代的次数
例子:
draw_region (Region, 3600)
*绘制结构元素并创建
draw_line (3600, Row1, Column1, Row2, Column2)
gen_region_line (RegionLines, Row1, Column1, Row2, Column2)
*根据结构元素腐蚀区域
erosion1 (Region, RegionLines,Erosion, 1)
2、erosion2(Region, StructElement : RegionErosion : Row, Column, Iterations : )
功能:使用用户自定义的结构元素对区域进行腐蚀后,然后根据输入参考点以及结构元素的中心坐标的相对位置
平移腐蚀后的区域。腐蚀后区域平移量 = 参考点坐标 – 结构元素中心坐标
例子:
draw_region (Region, 3600)
*绘制结构元素并创建
draw_line (3600, Row1, Column1, Row2, Column2)
gen_region_line (RegionLines, Row1, Column1, Row2, Column2)
*根据结构元素腐蚀区域
erosion2 (Region,RegionLines, Erosion2, 100, 100, 1)
3、erosion_circle(Region : RegionErosion : Radius : )
功能:使用圆形结构元素腐蚀区域
Radius:输入圆形区域的半径
例子:
draw_region (Region, 3600)
erosion_circle (Region, RegionErosion, 5)
4、erosion_rectangle1(Region : RegionErosion : Width, Height : )
功能:使用矩形结构元素腐蚀区域。
draw_region (Region, 3600)
erosion_rectangle1 (Region, RegionErosion, 5, 5)