形态学图像处理

形态学图像处理

1、dilate函数

该函数能够实现二值图像的膨胀操作,有以下形式:

bw2=dilate(bw1,se)

bw2=dilate(bw1,se,…,n)

其中:bw2=dilate(bw1,se)表示使用二值结构要素矩阵se队图像数据矩阵bw1执行膨胀操作。

输入图像bw1的类型为double或unit8,输出图像bw2的类型为unit8。

bw2=dilate(bw1,se,…,n)表示执行膨胀操作n次。

2、erode 函数

该函数能够实现二值图像的腐蚀操作,有以下形式:

bw2= erode(bw1,se)

bw2= erode(bw1,se,…,n)

其中:bw2= erode(bw1,se)表示使用二值结构要素矩阵se队图像数据矩阵bw1执行腐蚀操作。

输入图像bw1的类型为double或unit8,输出图像bw2的类型为unit8。

bw2= erode(bw1,se,…,n)表示执行腐蚀操作n次。

3、bwmorph函数

该函数的功能是能实现二值图像形态学运算。

它的格式如下:

① bw2=bwmorph(bw1,operation)

② bw2=bwmorph(bw1,operation,n)

其中:对于格式①,bwmorph函数可对二值图像bw1采用指定的形态学运算;对于格式②,bwmorph函数可对二值图像bw1采用指定的形态学运算n次。

operation为下列字符串之一:

‘clean’:除去孤立的像素(被0包围的1)

‘close’:计算二值闭合

‘dilate’:用结构元素计算图像膨胀

‘erode’:用结构元素计算图像侵蚀

4、imclose函数

该函数功能是对灰度图像执行形态学闭运算,即使用同样的结构元素先对图像进行膨胀操作后进行腐蚀操作。

调用格式为:

im2=imclose(im,se)

im2=imclose(im,nhood)

5、imopen函数

该函数功能是对灰度图像执行形态学开运算,即使用同样的结构元素先对图像进行腐蚀操作后进行膨胀操作。

调用格式为:

im2=imopen(im,se)

im2=imopen(im,nhood)

3用matLab编程实现图像去噪

3.1 二值形态学消除图像噪声

用二值形态学方法对图像中的噪声进行滤除的基本思想[4]是:使用具有一定形态的结构元素去度量和提取图像中的对应形状,以达到消除图像噪声的目的。

下面是二值形态学消除图像噪声的一个实例。

首先将tire.tif图像加入椒盐噪声,这种噪声前面已经介绍过,它在亮的图像区域内是暗点,而在暗的图像区域内是亮点,再对有噪声图像进行二值化操作,再对有噪声图像进行开启操作,由于这里的结构元素矩阵比噪声的尺寸要大,因而开启的结果是将背景上的噪声点去除了,最后对前一步得到的图像进行闭合操作,将轮胎上的噪声点去掉了。

下面是算法实现的程序代码:

i1=imread("tire.tif"); %读灰度图tire.tif

i2=imnoise(i1,"salt & pepper"); %在图像上加入椒盐噪声

figure,imshow(i2) %显示加椒盐噪声后的灰度图像

i3=im2bw(i1); %把加椒盐噪声后的灰度图像二值化

figure,imshow(i3) %显示二值化后的图像

i4=bwmorph(i3,"open"); %对二值噪声图像进行二值形态学开运算

figure,imshow(i4) %显示开运算后的图像

i5=bwmorph(i4,"close"); %对上述图像进行形态学闭运算

figure,imshow(i5) %显示最终处理后的图像

精选文章

相关文章

粤ICP备17098710号 微点阅读