精华内容
下载资源
问答
  • 眼底图像形态学操作MATLAB代码
  • 常用形态学操作函数(转自:http://blog.sina.com.cn/s/blog_4c52e9e20100e5if.html)1、dilate函数该函数能够实现二值图像的膨胀操作,有以下形式:BW2=dilate(BW1,SE)BW2=dilate(BW1,SE,…,n)其中:BW2=dilate...

    常用形态学操作函数(转自:http://blog.sina.com.cn/s/blog_4c52e9e20100e5if.html)

    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)

    形态学开操作的作用

    开操作一般使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物 。

    形态学闭操作的作用

    闭操作可使轮廓线更光滑,但与开操作相反的是,闭操作通常消弥狭窄的间断和长细的鸿沟,消除小的空洞,并填补轮廓线中的断裂

    腐蚀操作

    腐蚀就是使用算法,将图像的边缘腐蚀掉。作用就是将目标的边缘的“毛刺”踢除掉。

    膨胀操作

    膨胀就是使用算法,将图像的边缘扩大些。作用就是将目标的边缘或者是内部的坑填掉。

    函数功能:使用最大类间方差法找到图片的一个合适的阈值(threshold)。在使用im2bw函数将灰度图像转换为二值图像时,需要设定一个阈值,这个函数可以帮助我们获得一个合适的阈值。利用这个阈值通常比人为设定的阈值能更好地把一张灰度图像转换为二值图像。

    调用格式:

    level = graythresh(I); % level表示得到的合适阈值;

    展开全文
  • 这是一篇基于matlab,数字图像处理的形态学研究与实现的文章,希望能对你产生帮助。...2.掌握 MATLAB 形态学图像处理基本操作函数的使用方法;3.了解形态学的基本应用。2.Experiment Content:1....

    这是一篇基于matlab,数字图像处理的形态学研究与实现的文章,希望能对你产生帮助。

    我还写了一套《数字图像处理》(冈萨雷斯版本)的学习笔记,欢迎关注我的csdn同名主页,一起学习成长~

    1.Objectives:

    1.利用 MATLAB 研究二值形态学图像处理常用算法;

    2.掌握 MATLAB 形态学图像处理基本操作函数的使用方法;

    3.了解形态学的基本应用。

    2.Experiment Content:

    1.编程实现二值图像的基本形态学处理(腐蚀、膨胀、开运算和闭运算) ;选择不同结构元素筛选图像目标。

    2.用形态学运算实现灰度图像的噪声平滑和图像边缘提取。

    3.Experiment Principle:

    见书《数字图像处理》

    (冈萨雷斯著作,电子工业出版社于2009年12月1日出版)

    4.Experiment Steps Result and Conlusion:

    1、二值图像的形态学变换

    需要编写的二值图像形态学变换函数:

    functionnewbuf=BwFilter(oldbuf,select) 该函数调用 MATLAB 关于膨胀、腐蚀和图像筛选算法的相关函数,对二值图像进行相应的处理,最后结果存放在 newbuf 数组中。 编程实现 BwFilter()函数的功能。结构元素也可以用 ones 函数和 zeros函数创建。

    36c9b0e11fcb

    2、对输入图像进行形态学操作

    即腐蚀、膨胀、开运算和闭运算,改变结构元素形状、大小,重做上述实验,比较实验结果,分析结构元素对运算的影响;

    36c9b0e11fcb

    图1 膨胀

    36c9b0e11fcb

    图2 腐蚀

    36c9b0e11fcb

    图3 开运算

    36c9b0e11fcb

    图4 闭运算

    Conv:相比较于原图像,因为腐蚀的结果要使得各像元比之前变得更小,所以适用于去除高峰噪声。而灰度值膨胀的结果会使得各像元比之前的变得更大,所以适用于去除低谷噪声。但是由于该实验中对原图像损失太大,使得膨胀后为较大颗粒,腐蚀后只剩较少颗粒。

    开运算 = 先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了) 。即分割出图像。

    闭运算 = 先膨胀运算,再腐蚀运算(看上去将两个细微连接的图块封闭在一起) 。即让图像更加充实。

    改变结构元素形状、大小后效果:

    (1)膨胀

    36c9b0e11fcb

    (2)腐蚀

    36c9b0e11fcb

    开运算

    36c9b0e11fcb

    闭运算

    36c9b0e11fcb

    Conv:改变结构元素的形状和大小,分别使用了’disk’、’square’、’ones’和自定义矩阵等类型,大小由参数决定。以膨胀为例,可以看到同类型下,增大结构元素大小,白点部分膨胀得更厉害,而不同类型下,膨胀的方向和程度有所不同。对于腐蚀则使图像被腐蚀,对于开运算图像细的部分连接被打断,结构参数大小越大,图像白色部分越少;对于闭运算,图像连接增多,白色部分变多并变模糊,同样大小增大,程度加深,不同类型效果不同。

    3、实现功能

    以图FigP0936(bubbles_on_black_background).tif 为例完成分别以下功能:

    (1)提取与图像边界融合的颗粒

    (2)提取彼此交叠的颗粒

    (3)提取不交叠的颗粒

    提示:

    (1)可利用区域填充算法。如图所示为源图像,可将图像先转换为二值图像,然后对其进行取反,这样进行区域填充(闭运算)的结果将为与边界相连的颗粒,再与源图像进行比较,即可得出在源图像中与边界相连的颗粒图像。

    (2)可利用图像的腐蚀与膨胀操作。先用模板对图像进行腐蚀操作,由于相交叠的颗粒面积必然比独立的颗粒大,因此腐蚀操作之后剩下的部分为交叠颗粒的部分,再对其进行膨胀,(开运算)将其与源图像进行比较操作,则可得出交叠的颗粒图像。

    (3)得出交叠的颗粒之后,用源图像对其相减,则得出的为独立分布的颗粒图像

    (1)

    36c9b0e11fcb

    (2)

    36c9b0e11fcb

    (3)

    36c9b0e11fcb

    Conv:(1)对原图进行填充,可明显观察到原先的白点变多,对原图实现了滤除噪声的效果。(2)对原图先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了) 。是进行了开运算即分割出主要图像。(3)在进行相减,则为出去的小颗粒也就是分散的颗粒图。

    【附录】实现代码

    由于排版问题,无法显示代码块,需要原码的欢迎点击下方:

    程序一

    36c9b0e11fcb

    程序二

    36c9b0e11fcb

    程序三

    36c9b0e11fcb

    36c9b0e11fcb

    附:本人对数学形态学的研究笔记

    都看到这里了不如点个赞加关注哦~

    36c9b0e11fcb

    还有很多优质文章在我的csdn主页,ID豆干花生,欢迎关注哦~

    36c9b0e11fcb

    展开全文
  • MATLAB常用形态学操作函数

    千次阅读 2017-03-21 17:05:55
    MATLAB常用形态学操作函数  (2009-07-15 14:54:25) 转载▼ 常用形态学操作函数 1、dilate函数——膨胀 该函数能够实现二值图像的膨胀操作,有以下形式: BW2=dilate(BW1,SE) BW2=dilate(BW1...

    MATLAB常用形态学操作函数

     (2009-07-15 14:54:25)

    常用形态学操作函数

    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)

    展开全文
  • 您可以使用形态学操作图像中删除小对象,同时保留图像中较大对象的形状和大小。在此示例中,您使用电路板图像上的形态学操作图像中去除所有电路线。输出图像仅包含微芯片的矩形形状。一步打开图像您可以使用...

    26a74ec4186fca88dddf5b7dfba98146.png

    您可以使用形态学开操作从图像中删除小对象,同时保留图像中较大对象的形状和大小。

    在此示例中,您使用电路板图像上的形态学开操作从图像中去除所有电路线。输出图像仅包含微芯片的矩形形状。

    一步打开图像

    您可以使用imopen函数一步执行腐蚀和膨胀。

    将图像读入工作区并显示。

    BW1 = imread('circbw.tif');
    figure
    imshow(BW1)

    70b5f0002e0405f69d687f10b526a8dd.png

    创建一个结构元素。结构元素应该足够大以在腐蚀图像时除去线条,但又不应当大至足以除去矩形。它应该全部为1的元素组成,因此它会除去前景像素的大连续块以外的所有内容。

    SE = strel('rectangle',[40 30]);

    对图像开操作。

    BW2 = imopen(BW1, SE);
    imshow(BW2);

    5aff20940b4ec9aee8bfd27476873dac.png

    通过执行腐蚀然后膨胀来开操作图像

    您也可以顺序执行腐蚀和膨胀。

    用结构元素腐蚀图像。这将删除所有线条,但也会缩小矩形。

    BW3 = imerode(BW1,SE);
    imshow(BW3)

    44ed4b5e51a193c91c875bec8565bed7.png

    要将矩形恢复为原始大小,请使用相同的结构元素SE来放大腐蚀的图像。

    BW4 = imdilate(BW3,SE);
    imshow(BW4)

    5aff20940b4ec9aee8bfd27476873dac.png

    通过顺序执行操作,您可以灵活地更改结构元素。创建一个不同的结构元素,并使用新的结构元素来膨胀腐蚀的图像。

    SE = strel('diamond',15);
    BW5 = imdilate(BW3,SE);
    imshow(BW5)

    ab9b461e5227ccf2374ba74761fe356a.png

    注:本文根据MATLAB官网内容修改而成。

    以下的免费视频教程,特点是没有PPT,不掺水,直接编程环境下的实操课程:

    用100分钟了解MATLAB编程

    知乎 - 安全中心www.1data.pro

    欢迎您进一步了解以下MATLAB系列文章:

    吃小羊:MATLAB作图实例:00:索引zhuanlan.zhihu.com
    1a0c49d4cf5e589273a8243c63ac1897.png
    吃小羊:MATLAB金融工具箱:00:索引zhuanlan.zhihu.com
    c752f73fd772afe9c3633747f601ae08.png
    吃小羊:MATLAB图像处理:00:索引zhuanlan.zhihu.com
    e35c8beda55e7fbdc2d2ca151f90bcb5.png
    展开全文
  • 使用matlab语言,实现灰度图像形态学处理,包括腐蚀、膨胀及顶帽变换操作
  • 常用形态学操作函数(转自:http://blog.sina.com.cn/s/blog_4c52e9e20100e5if.html)1、dilate函数该函数能够实现二值图像的膨胀操作,有以下形式:BW2=dilate(BW1,SE)BW2=dilate(BW1,SE,…,n)其中:BW2=dilate...
  • 常用形态学操作函数(转自:http://blog.sina.com.cn/s/blog_4c52e9e20100e5if.html) 1、dilate函数 该函数能够实现二值图像的膨胀操作,有以下形式: BW2=dilate(BW1,SE) BW2=dilate(BW1,SE,…,n) 其中:BW2=...
  • 本资源包含基于Matlab形态学图像处理视频、配套源码和图片素材分享: 例12-1 创建结构元素 例12-2 创建图像并进行矩形腐蚀操作 例12-3 创建图像并进行矩形膨胀操作 例12-4 对二值图像进行线性膨胀操作 例12-5 对...
  • matlab开发-F灰阶的实现通过图像扩展形态学操作HDL编码器。在此提交中,基本的形态学操作称为扩张。
  • Matlab数学形态学进行图像处理

    千次阅读 2017-11-20 16:04:24
    数学形态图像处理的方法基本有膨胀,腐蚀,开运算,闭运算clc,clear I=imread('circbw.tif'); imshow(I),title('原始图像'); %腐蚀操作 se=strel('square',3); Ie=imerode(I,se); figure,imshow(Ie),title('腐蚀之后...
  • 数字图像处理Matlab-形态学图像处理(附代码)

    千次阅读 多人点赞 2020-03-26 18:59:10
    目录1.Objectives:2.Experiment Content:3.Experiment Principle:4.Experiment Steps Result and Conlusion:1、二值图像的形态学变换2、对输入图像进行形态学操作,即腐蚀、膨胀、开运算和闭运算,改变结构元素...
  • Matlab 图像处理 形态学 腐蚀 膨胀 开闭运算 连通... 形态学是提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。其练习代码和结果如下:   1
  • Matlab 形态学图像处理

    千次阅读 2016-04-26 17:28:06
    ...Matlab DIP(瓦)ch9形态... 本章的练习主要是形态学的一些基本概念和技术,这些构成了一组提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。
  • %读入图像,并转换为double型,该计算针对的是二值图像,所以加入图像时需注意 %膨胀测试图像 I=im2double(imread('D:\Gray Files\9-11.tif')); %获得图像大小 [M,N]=size(I); %存放膨胀后的图像 J=zeros(M,N); %===...
  • 一、实验名称数学形态学应用二、实验目的1.熟悉MATLAB软件的使用。2.掌握数字图像处理中的腐蚀、膨胀定义及操作。3.掌握图像的开运算、闭运算三、实验内容1.在长方形目标物A中,内部有噪声导致的空洞,周围有噪声块。...
  • 一、实验名称数学形态学应用二、实验目的1.熟悉MATLAB软件的使用。2.掌握数字图像处理中的腐蚀、膨胀定义及操作。3.掌握图像的开运算、闭运算三、实验内容1.在长方形目标物A中,内部有噪声导致的空洞,周围有噪声块。...
  • Matlab中将一幅图像阈值分割二值化非常简单若需要通过阈 值th2二值化保留一些大面积的且有灰度值含有大于 th1的点的 前景区域而不需要小面积的区域(th1大于th2 )这时会遇到这 样的问题当阈值选为th2时会把一些小面积...
  • %灰度膨胀、腐蚀、开操作、闭操作测试图像 I=im2double(imread('D:\Gray Files\9-37.tif')); %========================灰度开操作和闭操作================================ %半径为3的磁盘(disk)结构元素 r=...
  • bwmorph 对二值图像形态学操作

    千次阅读 2016-10-10 02:16:39
     函数功能: 对二值图像进行数学形态学(Mathematical Morphology)运算。  语法格式:  BW2 = bwmorph(BW,operation)  对二值图像进行指定的形态学处理。  BW2 = bwmorph(BW,operation,n)  对二值图像进行n次...
  • MATLAB常用的形态学操作函数

    千次阅读 2013-04-13 16:59:03
    原文地址:MATLAB常用形态学操作函数作者:ggbondgt 常用形态学操作函数 1、dilate函数 该函数能够实现二值图像的膨胀操作,有以下形式: BW2=dilate(BW1,SE) BW2=dilate(BW1,SE,…,n) 其中:BW2=dilate...
  • clc; clear all; close all; %Top-Hat测试图像 I=im2double(imread('D:\Gray Files\9-...%=========================灰度Top-Hat操作================================== %半径为40的磁盘(disk)结构元素 r=40; ...
  • matlab实现形态学处理

    万次阅读 多人点赞 2017-03-13 11:03:59
     形态学是提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。其练习代码和结果如下:   1 %% 第9章 形态学处理 2 3 %% imdilate膨胀 4...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 200
精华内容 80
关键字:

matlab图像形态学操作

matlab 订阅