1. 膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程。
2. 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉。
3. 开运算: 先腐蚀后膨胀的过程称为开运算,作用:去除孤立的小点,毛刺,消除小物体,平滑较大物体边界,同时不改变其面积。
4. 闭运算:先膨胀后腐蚀的过程是闭运算。作用:填充物体内细小的空洞,连接临近物体,平滑边界,同时不改变其面积。
开运算: 先腐蚀后膨胀 --->> 减少像素 <<---- 腐蚀
闭运算: 先膨胀后腐蚀 ---->> 增加像素 <<---- 膨胀
减少像素或断开像素 --->> 开运算 腐蚀 ; 其中 腐蚀运算 会比 开运算 腐蚀的厉害一些。
增加像素或连接像素 --->> 闭运算 膨胀 ; 其中 膨胀运算 会比 闭运算 膨胀的厉害点
其中,
(1). 对灰度图像的腐蚀相等于对灰度图像变暗;
(2). 对灰度图像的膨胀(闭运算)相等于对灰度图像变亮
![](https://i-blog.csdnimg.cn/blog_migrate/c6ac20ef0d817aab8326d6af5517be6b.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/87af602f4dfc2b6a72e8ca77f6c29223.jpeg)
* 读取图像
read_image (Image, 'fabrik')
* 阈值图像
threshold (Image, Region, 128, 255)
* 连通处理
connection (Region, ConnectedRegions)
* 根据面积过滤;
* 筛选上面生成的不同的联通域的;将面积在 8000-9000 的区域保留下来
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 8000, 9000)
* 用矩形结构元素膨胀
dilation_rectangle1 (SelectedRegions, RegionDilation1, 3, 3)
* 用圆形结构元素膨胀
dilation_circle (SelectedRegions, RegionDilation2, 2.5)
* 用矩形结构元素腐蚀
erosion_rectangle1 (SelectedRegions, RegionErosion1, 3, 3)
* 用圆形结构元素腐蚀
erosion_circle (SelectedRegions, RegionErosion2, 2.5)
* 用矩形结构元素开运算
opening_rectangle1 (SelectedRegions, RegionOpening1, 10, 10)
* 用圆形结构元素开运算
opening_circle (SelectedRegions, RegionOpening2, 2.5)
* 用矩形结构元素闭运算
closing_rectangle1 (SelectedRegions, RegionClosing1, 10, 10)
* 用圆形结构元素闭运算
closing_circle (SelectedRegions, RegionClosing2, 3.5)
参考文献:
【1】重码网视频系列