形态学运算基本概念:
假设存在图像X和图像Y
概念 | 含义 |
元素 | 设点a在图像X中,则a为X的一个元素,记为a∈X |
Y包含于X | Y中所有的元素都属于X,记为Y⊂X |
Y击中X | 存在一个点既是Y的元素,又是X的元素,记为Y↑X |
Y不击中X | 存在一个点既是Y的元素,又是X的元素,记为Y∩X=Ф |
补集 | 有一幅影像X,X以外的点构成的集合 |
结构元素 | 若用Y处理X,则Y为X的结构元素(Structure Element) |
对称集 | 对图像中的坐标全部取反(x, y)à(-x, -y) |
平移 | 对图像中的坐标(x, y)à(x+x0, y+y0) |
腐蚀和膨胀操作:
原始图像:
腐蚀:将灰度值小(暗)的区域增强扩展,去除亮的噪点。消除边界点,边界向内收缩。用以消除细小无意义的
对Z中的集合A和B,B对A进行腐蚀的整个过程如下:
⑵ 用结构元素与其覆盖的二值图像做“与”操作
⑶ 如果都为1,结果图像的该像素为1。否则为0
代码:
a=imread('A.jpg');%读取图像A.JPG
b=strel('disk',4);%新建一个结构元素
a2=imerode(a,b);%imerode(a,b) a被b腐蚀
imshow(a2) %显示图像膨胀运算结果a2
运行结果:
膨胀:将灰度值大(亮)的区域增强扩展,连接相似颜色或者强大的区域。添加边界要素。
结构元素B可以看作一个卷积模板,区别在于膨胀是以集合运算为基础的,卷积是以算术运算为基础的,但两者的处理过程是相似的。
⑴ 用结构元素B,扫描图像A的每一个像素
⑵ 用结构元素与其覆盖的二值图像做“与”操作
⑶ 如果都为0,结果图像的该像素为0。否则为1
代码:
a=imread('A.jpg');%读取当前文件夹下名为A.jpg的图像
b=[0 1 0;1 1 1;0 1 0];%定义结构元素
a2=imdilate(a,b);%imdilate(a,b)图像a以b为结构元素,做膨胀运算
imshow(a2)%显示图像膨胀运算结果a2
运行结果: