matlab二值图像的形态学变换

matlab二值图像的形态学变换,第1张

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编程实现图像去噪

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

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

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

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

I1=imread('tiretif'); %读灰度图tiretif

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) %显示最终处理后的图像

img = imread('aajpg');

img1 = img(:,:,1);

img = double(img1);

a = 1;

b= 05;

for i = 1:size(img,1);

  for j = 1:size(img,2)

      g(i,j)=a+log(img(i,j)+1)/(blog(2));

  end

end

figure,subplot(211),imshow(img1),title('原图')

subplot(212),imshow(uint8(g)),title('变换后的图像')

建议你使用peaks函数,例如

peaks

peaks(-5:1:5)

peaks(-2:1:2)

在不同的区域范围内绘制山峰图像。

然后使用colormap修改颜色,例如

colormap(hsv)

colormap(winter)

colormap(cool)

使用不同的调色板。

你可以在Matlab的软件里面看一下详细的plot函数的说明,里面有相关的控制参数,

'LineStyle' — Line style'-' (default) | '--' | ':' | '-' | 'none'

Line style, specified as the comma-separated pair consistingof 'LineStyle' and a line style specifier Thistable lists supported line styles

Specifier

Line Style

'- '

Solid line (default)

'--'

Dashed line

':'

Dotted line

'- '

Dash-dot line

'none'

No line

这是里面的说明,,,具体的咱们可以详细交流一下,下面是函数解释的链接

>

可直接在plot语句里设置,

例如plot(x,y,'-',r)画出来的就是一条红色的虚线。

其他颜色和形状可直接按照此格式,对应下面线型和颜色进行修改。

各种线型属性选项

'-' 实线 '--' 虚线

':' 点线 '-' 点划线

各种标记点属性选项

'' 用点号绘制各数据点 '^' 用上三角绘制各数据点

'+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点

'' 用''号绘制各数据点 '>' 用右三角绘制各数据点

' ' 用''号绘制各数据点 '<' 用左三角绘制各数据点

's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点

'd'或diamond用菱 形绘制各数据点 'h' 用六角星绘制各数据点

这些选项可以连在一起用,如:'-g'表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线

各种颜色属性选项

'r' 红色 'm' 粉红

'g' 绿色 'c' 青色

'b' 兰色 'w' 白色

'y' ** 'k' 黑色

1、打开matlab,点击左上角的新建脚本文件

2、构造x,y,z,f(x,y,z)这4个矩阵,也可以直接用sphere命令来构建x,y,z。

3、用以下命令就可以得到结果,figure中有很多选项可以自定义,surf绘图之后,用shadinginterp;light;lightinggouraud

4、使用上述命令得到了如下所示的图形,使用surf可以绘制一些特殊的4维图,其中的关键是Cdata项的值,它决定了色彩是如何变化的。

以上就是关于matlab 二值图像的形态学变换全部的内容,包括:matlab 二值图像的形态学变换、用MATLAB编程进行数字图像处理、用MATLAB做一个三维图,相对来说好看一点,之后说一下更改那些语句可以换个形状颜色什么的,需要详细程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10103198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存