MATLAB(8)

被刻印的时光 ゝ 提交于 2020-01-26 20:02:32

MATLAB(第八讲)


灰度图的腐蚀与膨胀


灰度图的腐蚀

用结构元素的中心点,从左到右从上到下,依次扫描灰度图的像素点,图片上该像素点的值取为结构元素所覆盖区域中像素点的最小值,扫描一遍后会得到一张新图,就是原图的腐蚀图。
用该结构元素:
在这里插入图片描述
对下面矩阵进行腐蚀
在这里插入图片描述
对第一个像素点的腐蚀操作如下:

在这里插入图片描述在这里插入图片描述
当移动到中间某像素点时腐蚀操作如下:
在这里插入图片描述在这里插入图片描述

灰度图的膨胀

用结构元素的中心点,依次扫描灰度图的每个像素点,图片上该像素点的值取为结构元素覆盖的所有像素点中的最大值,扫描一遍后会得到一张新图,就是原图的膨胀图。
用该结构元素:
在这里插入图片描述
对下面矩阵进行膨胀
在这里插入图片描述
对第一个像素点的膨胀操作如下:
在这里插入图片描述在这里插入图片描述
扫描到中间某像素点时的膨胀操作为:
在这里插入图片描述在这里插入图片描述

顶帽操作

顶帽操作的效果等同于原图-开运算,即原图减去开运算的图像。顶帽用来对灰度图进行操作。函数为:

tophat = imtophat( g , se ); (= g - g_open; )

顶帽操作通常用来去除背景。

底帽操作

底帽操作的效果等同于原图-闭运算,即原图减去闭运算的图像。底帽用来对灰度图进行操作。函数为:

bothat = imbothat( g , se ); (= g - g_close; )

注:顶帽和底帽操作都是对于灰度图的操作。

顶帽和底帽的应用

对下图进行顶帽和底帽操作,查看效果。
在这里插入图片描述
步骤:

  1. 首先将图片转为灰度图,因为底帽和顶帽操作都是针对灰度图。
    在这里插入图片描述
  2. 直接用函数进行顶帽和底帽操作
    在这里插入图片描述
    本例代码为:
clear,clc,close all;
f=imread('lemon.jpg');
imshow(f);
g=rgb2gray(f);
figure,imshow(g);

tophat=imtophat(g,strel('disk',10));
subplot(1,2,1),imshow(tophat),title('顶帽');
bothat=imbothat(g,strel('disk',10));
subplot(1,2,2),imshow(bothat),title('底帽');
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!