【halcon】形态学操作总结

腐蚀(erosion)和膨胀(dilation)

知道发音便于记忆:

【halcon】形态学操作总结_第1张图片

效果

首先,膨胀和腐蚀并不是放大和缩小。而是“胖瘦粗细”的变化!

【halcon】形态学操作总结_第2张图片

膨胀就是变胖变粗。

【halcon】形态学操作总结_第3张图片

腐蚀就是变瘦变细。

原理

在做 膨胀和腐蚀 运算的时候,会有一个卷积核,这个核就是实现膨胀和腐蚀的关键。核越大效果越明显。

【halcon】形态学操作总结_第4张图片

【halcon】形态学操作总结_第5张图片

关于腐蚀和膨胀的算子

【halcon】形态学操作总结_第6张图片【halcon】形态学操作总结_第7张图片

挑一个最简单的讲吧:

erosion_circle

【halcon】形态学操作总结_第8张图片

 第一个是输入参数:即原始图形。

 第二个输出参数:即腐蚀后的图形。

第三个是输入控制参数,及卷积核的大小。

开运算和闭运算

1 开运算

 原理

  先腐蚀(erosion)后膨胀(dilation)

 就是我拿一个卷积核,往region中放,可以放心的region被保留,放不下的region被抛弃。

原本大的区域可能会被分割成小的区域,小的区域会被干掉。

opening_circle (Region, RegionOpening, 20)

效果

 
  

2 闭运算

 原理

先膨胀(dilate)后腐蚀(dilation)。

效果1

这个fill_up也能做到。

【halcon】形态学操作总结_第9张图片

 效果2

【halcon】形态学操作总结_第10张图片

效果三:

填坑,其实和效果二得本质是一样的(这个fill_up做不到。)

【halcon】形态学操作总结_第11张图片

 

小结

闭运算:主要用于闭掉一些区域中的孔洞,或者边缘不完整的地方。或者是闭合连接!

closing_rectangle1 (RegionFillUp, RegionClosing, 80, 80)
closing_circle(RegionFillUp, RegionClosing,80)

对于 rectangle1来说,卷积核是个矩形的,所以有两个控制参数,长和宽。

而对应circle来说,卷积核是圆形的,所以只有半径这一个控制参数。

 开运算可以于筛选掉一些较小的Region,或者对某个区域减肥

opening_rectangle1(RegionFillUp, RegionOpening, 10, 10)

其他

形态学还有几种操作,目前感觉用的不多,以后有时间再补充吧。

形态学梯度: 膨胀(dilate) 减去 腐蚀(erode)

【halcon】形态学操作总结_第12张图片

顶帽: 原图像 减去 开操作

黑帽: 闭操作 减去 原图像

你可能感兴趣的:(halcon聚沙成塔,halcon)