知道发音便于记忆:
首先,膨胀和腐蚀并不是放大和缩小。而是“胖瘦粗细”的变化!
膨胀就是变胖变粗。
腐蚀就是变瘦变细。
在做 膨胀和腐蚀 运算的时候,会有一个卷积核,这个核就是实现膨胀和腐蚀的关键。核越大效果越明显。
关于腐蚀和膨胀的算子
挑一个最简单的讲吧:
第一个是输入参数:即原始图形。
第二个输出参数:即腐蚀后的图形。
第三个是输入控制参数,及卷积核的大小。
先腐蚀(erosion)后膨胀(dilation)
就是我拿一个卷积核,往region中放,可以放心的region被保留,放不下的region被抛弃。
原本大的区域可能会被分割成小的区域,小的区域会被干掉。
opening_circle (Region, RegionOpening, 20)
先膨胀(dilate)后腐蚀(dilation)。
这个fill_up也能做到。
效果三:
填坑,其实和效果二得本质是一样的(这个fill_up做不到。)
闭运算:主要用于闭掉一些区域中的孔洞,或者边缘不完整的地方。或者是闭合连接!
- closing_rectangle1 (RegionFillUp, RegionClosing, 80, 80)
- closing_circle(RegionFillUp, RegionClosing,80)
对于 rectangle1来说,卷积核是个矩形的,所以有两个控制参数,长和宽。
而对应circle来说,卷积核是圆形的,所以只有半径这一个控制参数。
开运算:可以于筛选掉一些较小的Region,或者对某个区域减肥
opening_rectangle1(RegionFillUp, RegionOpening, 10, 10)
形态学还有几种操作,目前感觉用的不多,以后有时间再补充吧。