【matlab图像处理笔记3】【图像变换】(二)图像的形态学变换

推荐阅读

本系列其他文章

  1. 【matlab图像处理】【应用型笔记2】【图像变换】(一)图像的算术运算与几何变换、图像插值算法_Twilight Sparkle.的博客-CSDN博客

参考教程

前言

本篇文章将介绍图像的形态学变换。

形态学变换

简介

形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,如边界和连通区域等。同时像细化、像素化和修剪毛刺等技术也常应用于图像的预处理和后处理中,成为图像增强技术的有力补充。

常见图像形态学运算:腐蚀、膨胀、开运算、闭运算、骨架抽取、极线腐蚀、击中击不中变换、Top-hat变换、颗粒分析、流域变换、形态学梯度等。

形态学的基本思想是利用一种特殊的结构元来测量或提取输入图像中相应的形状或特征,以便进一步进行图像分析和目标识别。

本文的形态学内容仅讨论腐蚀、膨胀、开运算、闭运算。

数学基础

形态学的数学基础和所用语言是集合论

结构元素

结构元素(Structuring Elements,SE)是类似于“滤波核”的元素,或者说类似于一个“小窗”,在原图上进行“滑动”,在腐蚀与膨胀操作中都需要用到。

结构元素可以指定其形状和大小。结构元素一般由0和1的二值像素组成。结构元素的原点**(锚点)**相当于“小窗”的中心,其尺寸由具体的腐蚀或膨胀算子指定,结构元素的尺寸也决定着腐蚀或者膨胀的程度。结构元素越大,被腐蚀消失或者被膨胀增加的区域也会越大。

在matlab中创建结构元

基本语法

SE = strel(shape, parameters)

关于strel的相关参数说明请自行查阅官方文档:Morphological structuring element - MATLAB - MathWorks 中国

示例

close all;clc;clear;
SE = strel('diamond',100);
figure();imshow(SE.Neighborhood);

image-20221016215646550

腐蚀与膨胀

腐蚀和膨胀是两种最基本也是最重要的形态学运算, 它们是很多高级形态学处理的基础, 很多其他的形态学算法都是由这两种基本运算复合而成。

注:以下图示部分来自于图像算法原理与实践——图像形态学处理 - 知乎 (zhihu.com)

腐蚀

结构元s在图像f上滑动,把结构元锚点位置对应图像像素点位置,目标像素点的灰度值设置为结构元值为1的区域对应图像区域像素的最小值。腐蚀可用于消除边缘和杂点

腐蚀运算用公式符号记为: f ⊖ s f\ominus s fs

简单来说就是求局部最小值。直观视觉就是图像中物体尺寸会瘦小,看起来好像被腐蚀了。

img

采用十字链结构元 腐蚀处理后的图像效果

img

采用十字链结构元 腐蚀处理后的图像数据

示例

image-20221016225036818

close all;clc;clear;
I = imread('example2.jpg');
I = rgb2gray(I);
figure();imshow(I);title("original");
SE = strel('diamond',10);
X = imerode(I,SE);
figure();imshow(X);title("imerode");

image-20221016225448329

图像也可以是彩色。

膨胀

结构元s在图像f上滑动,把结构元锚点位置对应图像像素点位置,目标像素点的灰度值设置为结构元值为1的区域对应图像区域像素的最大值。经过膨胀操作,图像区域的边缘可能会变得平滑,区域的像素将会增加,不相连的部分可能会连接起来。

膨胀运算用公式符号记为: f ⊕ s f\oplus s fs

采用十字链结构元 膨胀处理后的图像效果

img

采用十字链结构元 膨胀处理后的图像数据

示例

image-20221016231047398

close all;clc;clear;
I = imread('example2.jpg');
I = rgb2gray(I);
figure();imshow(I);title("original");
SE = strel('diamond',10);
X = imdilate(I,SE);
figure();imshow(X);title("imdilate");

image-20221016231144163

开运算与并运算

开运算

对图像 f 用同一结构元 s 先腐蚀 再膨胀称之为开运算。记为: ( f ⊖ s ) ⊕ s (f\ominus s)\oplus s (fs)s

基本功能

消除小物体;在纤细处分离物体;平滑较大的边界并不明显改变其面积。从视觉上看仿佛将原本连接的物体“分开”了一样。

img

采用十字链结构元 开运算处理后的图像效果

示例

image-20221016232222030

close all;clc;clear;
I = imread('example2.jpg');
%I = rgb2gray(I);
figure();imshow(I);title("original");
SE = strel('diamond',10);
X = imopen(I,SE);
figure();imshow(X);title("imopen");

image-20221016232300510

并运算

图像 f 用同一结构元 s 先膨胀 再腐蚀 称之为闭运算。记为: ( f ⊕ s ) ⊖ s (f\oplus s)\ominus s (fs)s

基本功能

排除小型黑洞,从视觉上看仿佛将原本分开的部分“闭合”了一样。

img

采用十字链结构元 闭运算处理后的图像效果

示例

image-20221016232926568

close all;clc;clear;
I = imread('example2.jpg');
%I = rgb2gray(I);
figure();imshow(I);title("original");
SE = strel('diamond',10);
X = imclose(I,SE);
figure();imshow(X);title("imclose");

image-20221016233035397

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Twilight Sparkle.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值