精华内容
下载资源
问答
  • 本篇文章要分享的是基于MATLAB腐蚀膨胀算法实现,腐蚀膨胀是形态学图像处理的基础,腐蚀在二值图像的基础上做“收缩”或“细化”操作,膨胀在二值图像的基础上做“加长”或“变粗”的操作。 什么是二值图像呢?把...

    本篇文章要分享的是基于MATLAB的腐蚀膨胀算法实现,腐蚀膨胀是形态学图像处理的基础,腐蚀在二值图像的基础上做“收缩”或“细化”操作,膨胀在二值图像的基础上做“加长”或“变粗”的操作。

      什么是二值图像呢?把一幅图片看做成一个二维的数组,那么二值图像是一个只有0和1的逻辑数组,我们前面Sobel边缘检测后的图像输出边缘效果,设置个阈值,大于阈值输出为1,小于阈值输出为0,最后输出就是一幅二维图像了。

    腐蚀

      腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。用3X3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像的该像素为1。否则为0。结果会使二值图像小一圈。

      有一个形象的比喻来可以说明该运算,用0表示蛀虫,1表示大米。蛀虫腐蚀大米的过程便是腐蚀运算,

    v2-fae8aec3c2738c29068dc0c51c38990d_b.jpg

    腐蚀

    如图所示,对于一个像素矩阵而言,只要有蛀虫(0)的存在,大米(1)就会被腐蚀掉了,即使只存在一个蛀虫(0),但是还是会被蛀虫腐蚀完毕,最后一幅图上面由于没有蛀虫(0)所以大米完好无损。

    关于算法的实现,可以用下式子来表示,即3x3像素的运算:

    P = P11 & P12 & P13 & P21 & P22 & P23 & P31 & P32 & P33

    在FPGA中,为了通过面积去换速度,我们将上式改变如下:                       

    P1 = P11 & P12 & P13

    P2 = P21 & P22 & P23

    P3 = P31 & P32 & P33

    P = P1 & P2 & P3

    MATLAB中可以直接写一个按位或运算。


    膨胀

      膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。用3X3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为0,结果图像的该像素为0,。否则为1。结果使二值图像扩大一圈。

      先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显的改变其面积。先膨胀后腐蚀的过程称为比运算,用来填充物体内细小空间、连接邻近物体、平滑其边界的同时并不明显改变其面积。

      膨胀算法用最简单的比喻来描述:0表示害虫,1表示青蛙,青蛙吃了害虫表示膨胀运算,我们用3*3像素阵列来解释:

    v2-dea1ffba01bf049cbf70e712bc62cd68_b.jpg

    膨胀

    如图所示,图左只有害虫(0),所以害虫都活着,中间那个图,虽然只有一个害虫,但是还是会被青蛙全部吃掉,最右边的那幅图,都是青蛙,所以青蛙始终是青蛙。

    关于算法的实现,可以用下式子来表示,即3x3像素的运算:

    P = P11 | P12 | P13 | P21 | P22 | P23 | P31 | P32 | P33

    在HDL中,为了通过面积去换速度,我们将上式改变如下:                             

    P1 = P11 | P12 | P13

    P2 = P21 | P22 | P23

    P3 = P31 | P32 | P33

    P = P1 | P2 | P3

    MATLAB中可以直接写一个按位与运算。

    开运算闭运算

      先腐蚀后膨胀叫开运算,开运算的作用是清除图像边缘周围非边缘的细小的点。先膨胀后腐蚀为闭运算,闭运算的作用是清除图像内部的空洞,

      如果我们的目标物体外面有很多无关的小区域,就用开运算去除掉;如果物体内部有很多小黑洞,就用闭运算填充掉。

    MATLAB逻辑运算函数

    bitand(), 对十进制数进行逐位逻辑与运算:先将十进制数转换成二进制数,然后逐位与运算,其运算结果转换为十进制。

    bitor(), 对十进制数进行逐位逻辑或运算:先将十进制数转换成二进制数,然后逐位与运算,其运算结果转换为十进制。

    MATLAB代码实现

    需要了解代码的私聊我,发你。(这就不再复制了)

    处理后结果对比

    为了可以清晰的看到图像边缘的变化,我们把黑色作为背景,白色作为边缘。


    v2-21d008ade544ce5a55e3c68a50c145d7_b.jpg

    Sobel边缘检测后的lena

    v2-352feb115898c62f837c6f392e12d72f_b.jpg

    腐蚀后的lena


    v2-929f1cf9f430902dc17f2106f9712846_b.jpg

    膨胀后的lena


    v2-c6e930ecac632267be000747728e19e4_b.jpg

    先腐蚀后膨胀开运算lena


    v2-826b83ecfba777b11e0bd3d61b9d6fbb_b.jpg

    先膨胀后腐蚀闭运算lena

      从上面两幅图可以看出,腐蚀后的图像边缘明显变细,消除了更多假边缘,在腐蚀基础上使用膨胀算法的lena将腐蚀后的边缘扩大、加粗,这样看起来更清楚。

    展开全文
  • matlab 腐蚀膨胀 代码

    2014-04-27 16:30:33
    matlab 腐蚀膨胀的代码,还挺好用的
  • 图像处理matlab腐蚀膨胀

    热门讨论 2009-04-03 11:51:43
    不是直接的函数调用,老师不让直接调用是根据腐蚀膨胀的原理自己编的小程序.
  • matlab腐蚀膨胀源程序

    2013-04-23 16:38:15
    matlab腐蚀膨胀源程序
  • Matlab 基于腐蚀膨胀的边缘检测 文/天神 一.课题背景 形态学运算只针对二值图像二进制图像并依据数学形态学Mathermatical Morphogy集合论方法发展起来 的图像处理方法起源于岩相对岩石结构的定量描述工作在数字...
  • MATLAB图像腐蚀膨胀

    2013-06-07 12:58:07
    MATLAB代码腐蚀膨胀图像设计,代码很全,步骤很详细
  • 用于图像处理的Matlab腐蚀膨胀的边缘检测方法
  • 数学形态学具有腐蚀膨胀,开运算和闭运算四种基本运算;...本文以腐蚀膨胀为基础,同时也运用以腐蚀膨胀为基础的其他操作,利用MATLAB图像处理工具箱中的函数对麦积山佛半身图像进行了处理。
  • matlab中通过腐蚀膨胀提取物体边缘,可直接下载使用。
  • matlab自实现膨胀腐蚀

    热门讨论 2010-03-18 15:53:13
    自己实现对二值图像的膨胀腐蚀,所涉及的函数很容易实现二值图像的开、闭运算。
  • Matlab图像处理知识(四) ?... 上述程序主要是采用了 bwlabel 和 beselect 函数,虽然没有直接使用 Matlab 的形态学操作的膨胀腐蚀函数,但其实质过程和达到的效果是遵循形 态学操作......C=mdilate(A,...

    Matlab图像处理知识(四) ? 膨胀 ? 腐蚀 ? 开运算闭运算 ? 击中击不中 ? 结合进行图像预处理 膨胀 ? 原理:膨胀是在图像中“增长”或“变粗”的操作。 ? ...

    (gray); 上述程序主要是采用了 bwlabel 和 beselect 函数,虽然没有直接使用 Matlab 的形态学操作的膨胀、腐蚀函数,但其实质过程和达到的效果是遵循形 态学操作......

    C=mdilate(A,se) 用结构元素se来膨胀A 相关函数 膨胀 例:将一幅二值图像做膨胀处理。 A=imr Matlab四形态学图像处理 ? se=strel(shape,参数) ? C=m......

    (a,b); ④闭运算:先膨胀后腐蚀称为闭运算,用 imclose 来实现,如:...

    ? 2. 腐蚀和膨胀(Dilation and Erosion) 二值图像 腐蚀 膨胀 (1) 腐蚀一般意义的腐蚀概念定义为: E =B S={x,y| B} ? 如果S的原点位移到点(x,y),......

    MATLAB 程序;程序组中“work”文件夹中应有待处理 的 图像文件; 2 对于飞机图像 a).对图像进行去噪、增强处理; b)运用全局阀值进行二值化; c)用膨胀腐蚀等......

    它具有腐蚀,膨胀,开运算,闭运算四种基本运算。本文主要探讨形态学图像处理的原理及基于MATLAB软件平台的实施方法。研究表明,利用MATLAB图像处理工具箱中的函数运用形态......

    数字图像处理及MATLAB实现 出版社 理工分社 (1)膨胀(扩张)处理 (2)腐蚀(收缩)处理 图7.33 二值图像的膨胀运算示例 31 数字图像处理及MATLAB实现 出版社 理工......

    4. 用MATLAB语言实现运动补偿的去隔行算 法、GAH去隔行算法、 MADM去隔行算法、AMMC 算法、时域反向投影算法和时间递归算法(选择2-3种 方法)。 ...

    实验6 形态学图像处理 一.实验目的: 1.掌握形态学图像处理的基本算法:膨胀、腐蚀。 2.掌握 MATLAB 函数中用于构建结构元的标准函数。 3.掌握开运算、闭运算。 ...

    孟兆新等提出了基于 边缘检测算法的微小疲劳裂纹图像数据的提取方法n,, 其对微小裂纹进行膨胀和腐蚀运算,实现了对微小裂纹 的边缘检测,搜索标记图像中的空穴并逐级......

    ? ? ? 腐蚀 膨胀 开和闭 击中与否变换 8.3.1 腐蚀运算定义: 假定A和B是X2上的两个集合,把A被B腐蚀定义为: ? ? ? ? ? ? ? Matlab实现: I2=......

    Matlab语句如下: bw2=bwmorph(bw1,'remove',Inf); %去除内点, 提 取图像中各区域轮廓 该函数将膨胀和腐蚀运算进行不同的组合, 去掉没 有与背景像素相邻的前......

    上机实习 1,使用Matlab形态学变换函数:imdilate, imerode, strel, immorph, imsubtract, imopen, imclose 2,在二值化程序基础上,编制基本的形态学运算 (腐蚀和......

    (2,2,4);imshow(erodedBW2);title('5*5 腐蚀图像') 实验六 图像处理实际应用一、实验目的 1、熟悉并掌握 MATLAB 图像处理工具箱的使用; 2、理解并掌握常用......

    结构元素的原点指定了图像中需要处理的 像素范围,结构元素中数值为1的点决定结构元素的领域像素在进行膨胀 或腐蚀操作时是否参与计算。 在MATLAB软件中,结构元素定义......

    针对二值图像,Matlab 提供了丰富的数学形态 图像的数学形态学处理。 学运算函数:腐蚀(Erode) 、膨胀(Dilate)算子、以及在此基础上的 开(Open) 、闭(Close)算子......

    针对二值图像, MATLAB 提供了数学形态学运算 函数;腐蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开 (Open)、闭(Close) 算子、厚化 (Thicken) 、薄化 (......

    MATLAB 图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和 算法,如...

    本文用MATLAB的PNN函数 来建立对腐蚀损伤分类的概率神经网络模型。把最大腐 蚀损伤深度作为训练对象,输入和输 出目标矢量都是单行矩阵,这两个矩阵输入到NEWPNN函 ......

    展开全文
  • 是个GUI界面。进行了中值滤波,范围默认为3*3,...利用类间方差阈值算法实现图像的分割处理,利用形态学中的腐蚀膨胀处理进行处理结果修正。注意,本程序用的滤波、分割、形态学处理等都是调用的matlab自带的函数。
  • 腐蚀膨胀的基本原理 1.图像形态学处理的概念 数字图像处理中的形态学处理是指将数字形态学作为工具从图 像中提取对于表达和描绘区域形状有用处的图像分量比如边 界骨架以及凸壳还包括用于预处理或后处理的形态学...
  • 本文给大家分享了一个腐蚀膨胀matlab实现的源代码。
  • Matlab基于腐蚀膨胀的边缘检测文/天神一.课题背景:形态学运算只针对二值图像(二进制图像),并依据数学形态学(MathermaticalMorphogy)集合论方法发展起来的图像处理方法,起源于岩相对岩石结构的定量描述工作,在...

    Matlab基于腐蚀和膨胀的边缘检测

    文/天神

    一.课题背景:

    形态学运算只针对二值图像(二进制图像),并依据数学形态学(Mathermatical

    Morphogy)集合论方法发展起来的图像处理方法,起源于岩相对岩石结构的定量描述工作,在数字图像处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图像分析方法和理论。数学形态学是图像处理和模式识领域的新方法,其基本思想是:用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到图像分析和识别的目的。优势有以下几点:有效滤除噪声,保留图像中原有信息,算法易于用并行处理方法有效实现(包括硬件实现),基于数学形态学的边缘信息提取处理优于基于微分运算的边缘提取算法,提取的边缘比较平滑,提取的图像骨架也比较连续,断点少。

    二、课题相关原理:

    形态学基本运算:

    特殊领域运算形式——结构元素(Structure

    Element),在每个像素位置上与二值图像对应的区域进行特定的逻辑运算。运算结果是输出图像的相应像素。运算效果取决于结构元素大小内容以及逻辑运算性质。

    常见形态学运算有腐蚀(Erosion)和膨胀(Dilation)两种。

    集合论是数学形态学的基础。有集合、元素、子集、并集、补集、位移、映像(镜像对称)、差集等集合的基本概念。

    对象和结构元素的3种关系:『对象X(Object)、结构元素B(Structure

    Element)』

    B include in X 包含于 、B

    hit X 击中(不全包含) 、B miss X 击不中

    (不包含)

    平移、对称集:Bx=Uy{x+y} B^=Uy{-y}

    腐蚀:一种消除边界点,使边界向内部收缩的过程。利用它可以消除小而且无意义的物体。B对X腐蚀所产生的二值图像E是满足以下条件的点(x,y)的集合:如果B的原点平移到点(x,y),那么B将完全包含于X中。

    膨胀:将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。利用它可以填补物体中的空洞。B对X膨胀所产生的二值图像D是满足以下条件的点(x,y)的集合:如果B的原点平移到点(x,y),那么它与X的交集非空。

    腐蚀和膨胀运算中存在对偶原理:X⊕B,它是所有满足以下条件的点X'的集合:在B中存在一点y,而且在X中存在一点x,使得x'=x+y。

    基本运算:1.开运算(先腐蚀后膨胀的过程):利用它可以消除小物体,在纤细点处分离物体,平滑较大物体边界,但同时并不明显改变原来物体的面积。OPEN(X,B)

    2.闭运算(先膨胀后腐蚀的过程):利用它可以填充物体内细小空洞,连接临近物体、平滑其边界,但同时并不明显改变原来物体的面积。CLOSE(X,B)

    通常由于噪声的影响,图像在阈值化后所得到的边界通常都很不平滑,物体区域具有一些噪声孔,而背景区域上散布着一些小的噪声物体,连续的开和闭运算可以有效的改善这种情况,而有时,我们需要经过多次腐蚀之,后再加上相同次数的膨胀,才能产生比较好的处理效果。

    另外两种是 3.击中,击不中变换HMT(模板严格匹配) 以及

    4.边缘和骨架(Boundary and Skeleton)

    三、腐蚀和膨胀的Matlab实现:

    腐蚀:删除对象边界某些像素。

    膨胀:给图像中的对象边界添加像素。

    在操作中,输出图像中所有给定像素的状态都是通过对输入图像的相应像素及邻域使用一定的规则进行确定。在膨胀操作时,输出像素值是输入图像相应像素邻域内所有像素的最大值。在二进制图像中,如果任何像素值为1,那么对应的输出像素值为1;而在腐蚀操作中,输出像素值是输入图像相应像素邻域内所有像素的最小值。在二进制图像中,如果任何一个像素值为0,那么对应的输出像素值为0。

    结构元素的原点定义在对输入图像感兴趣的位置。对于图像边缘的像素,由结构元素定义的邻域将会有一部分位于图像边界之外。为了有效处理边界像素,进行形态学运算的函数通常都会给出超出图像、未指定数值的像素指定一个数值,这样就类似于函数给图像填充了额外的行和列。对于膨胀和腐蚀操作,它们对像素进行填充的值是不同的。

    对于二进制图像和灰度图像,膨胀和腐蚀操作使用的填充方法如下表:

    腐蚀和膨胀填充图像规则表

    规 则

    腐蚀

    超出图像边界的像素值定义为该数据类型允许的最大值,对于二进制图像,这些像素值设置为1;对于灰度图像,unit8类型的最小值也为255。

    膨胀

    超出图像边界的像素值定义为该数据类型允许的最小值,对于二进制图像,这些像素值设置为0;对于灰度图像,unit8类型的最小值也为0。

    通过对膨胀操作使用最小值填充和对腐蚀操作使用最大值填充,可以有效地消除边界效应(输出图像靠近边界处的区域与图像其它部分不连续)。否则,如果腐蚀操作使用最小值进行填充,则进行腐蚀操作后,输出图像会围绕着一个黑色边框。

    结构元素:膨胀和腐蚀操作的最基本组成部分,用于测试输出图像,通常要比待处理的图像小的多。二维平面结构元素由一个数值为0或1的矩阵组成。结构元素的原点指定了图像中需要处理的像素范围,结构元素中数值为1的点决定结构元素的邻域像素在进行膨胀或腐蚀操作时是否需要参与计算。三维或非平面的结构元素使用0,1定义结构元素在x和y平面上的范围,第三维z定义高度。

    (1)任意大小和维数的结构元素B原点坐标的获取:

    >> origin =

    floor((size(nhood)+1)/2)

    其中nhood

    是指结构元素定义的邻域(STREL对象的属性nhood)

    (2)创建结构元素:(strel函数来创建任意大小和形状的STREL

    对象,支持如线形line、钻石形diamond、圆盘形disk、球形ball等许多种常用的形状)

    >> se = strel

    ('diamond' ,3)

    se =

    Flat STREL object containing 25 neighbors.

    Decomposition: 3 STREL objects containing a total of 13

    neighbors

    Neighborhood:

    0 0 0 1 0 0 0

    0 0 1 1 1 0 0

    0 1 1 1 1 1 0

    1 1 1 1 1 1 1

    0 1 1 1 1 1 0

    0 0 1 1 1 0 0

    0 0 0 1 0 0 0

    % se返回了结构元素的有关信息。

    (3) 结构元素的分解

    为了提高执行效率,stel函数可能会将结构元素拆为较小的块,这种技术称为结构元素的分解。例如要对一个11×11的正方形结构元素进行膨胀操作,可以首先对1×11的结构元素进行膨胀操作,然后再对11×1的结构元素进行膨胀,通过这样的分解,在理论上可以使执行速度提高6.5倍。

    对圆盘形和球形结构元素进行分解,其结构是近似的,而对于其他形状的分解,得到的分解结果是精确的。可以调用getsequence函数来查看分解所得的结构元素序列。

    >>

    seq=getsequence(sel)

    seq =

    4x1 array of STREL objects

    >> seq(1)

    ans =

    Flat STREL object containing 5 neighbors.

    Neighborhood:

    0 1 0

    1 1 1

    0 1 0

    >> seq(2)

    ans =

    Flat STREL object containing 4 neighbors.

    Neighborhood:

    0 1 0

    1 0 1

    0 1 0

    >> seq(3)

    ans =

    Flat STREL object containing 4 neighbors.

    Neighborhood:

    0 0 1 0 0

    0 0 0 0 0

    1 0 0 0 1

    0 0 0 0 0

    0 0 1 0 0

    >> seq(4)

    ans =

    Flat STREL object containing 4 neighbors.

    Neighborhood:

    0 1 0

    1 0 1

    0 1 0

    1.图像膨胀的Matlab实现:

    可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象。结构元素对象可以是strel函数返回的对象,也可以是一个自己定义的表示结构元素邻域的二进制矩阵。此外,imdilate还可以接受两个可选参数:PADOPT(padopt)

    ——影响输出图片的大小、PACKOPT(packopt).——说明输入图像是否为打包的二值图像(二进制图像)。举个实例如下:

    步骤1,首先创建一个包含矩形对象的二值图像矩阵。

    >>

    BW=zeros(9,10);

    >> BW(4:6,4:7)

    =1

    BW =

    0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0

    0 0 0 1 1 1 1 0 0 0

    0 0 0 1 1 1 1 0 0 0

    0 0 0 1 1 1 1 0 0 0

    0

    展开全文
  • MATLAB三维形态学腐蚀膨胀操作代码。做三维形态学操作的时候,没找到MATLAB自带的函数,所以自己写了一个。

    (MATLAB)三维形态学腐蚀膨胀算法(代码)

    by HPC_ZY

    MATLAB三维形态学腐蚀膨胀操作代码。做三维形态学操作的时候,没找到MATLAB自带的函数,所以自己写了一个。

    膨胀

    膨胀比较简单,总之就是原始图像某一位置为1时,把周围的全置为1

    %% 三维膨胀
    function out = dilate3d(in,r)
    
    [R,C,S] = size(in);
    % 生成球形结构元
    [se,n,rx,ry,rz] = strel3d(r);
    
    out = false(R,C,S);
    for i = 1+rx:R-rx
        for j = 1+ry:C-ry
            for k = 1+rz:S-rz
                if in(i,j,k) == 1                
                    for idx = 1:n
                        out(i+se(idx,1),j+se(idx,2),k+se(idx,3)) = 1;
                    end
                end
            end
        end
    end
    
    end
    

    腐蚀

    与膨胀相反,当原始图像某邻域范围内全为1,中心点才能置为1

    %% 三维腐蚀
    function out = erode3d(in,r)
    % 生成球形结构元
    [R,C,S] = size(in);
    [se,n,rx,ry,rz] = strel3d(r);
    
    out = false(R,C,S);
    for i = 1+rx:R-rx
        for j = 1+ry:C-ry
            for k = 1+rz:S-rz
                out(i,j,k) = 1;
                for idx = 1:n
                    if in(i+se(idx,1),j+se(idx,2),k+se(idx,3))<1
                        out(i,j,k) = 0;
                        break;                    
                    end
                end                                   
            end
        end
    end
    
    end
    

    结构元与其他函数

    生成结构元的函数,建议三个方向半径一致。
    注:由于此处结构元特殊的判定方式,当三个方向半径不一致时,最终尺寸不一定等于用户输入的尺寸,但大体形态是相同的

    %% 生成三维球形结构元
    function [se,n,rx,ry,rz] = strel3d(r)
    
    % 判断用户输入半径
    if length(r)<2
        rx = r;
        ry = r;
        rz = r;
    elseif length(r)>2
        rx = r(1);
        ry = r(2);
        rz = r(3);
    else
        rx = r(1);
        ry = r(1);
        rz = r(2);
    end
    
    % 生成球形二值图 并获得目标索引
    [x,y,z] = meshgrid(-rx:rx,-ry:ry,-rz:rz);
    [x,y,z] = find3d(sqrt(x.^2+y.^2+z.^2)<(rx+ry+rz)/2.5); % 注意这里的判定方式
    se = [x-rx-1,y-ry-1,z-rz-1];
    
    n = size(se,1);
    
    end
    

    find3函数(类似MATLAB自带的find,但这里是三维的)

    %% 找到满足条件的值,类似MATLAB自带的find,但这里是三维的
    function [x,y,z] = find3d(in)
    
    [M,N,~] = size(in);
    
    idx = find(in);
    
    z = ceil(idx/M/N);
    idx = idx-(z-1)*M*N;
    y = ceil(idx/M);
    x = idx-(y-1)*M;
    
    end
    

    测试

    clear; close all; clc
    
    %% 生成测试图像(三维)
    im = zeros(50,50,50);
    im(20:30,20:30,10:40) = 1;
    
    %% 形态学操作
    % 膨胀
    im1 = dilate3d(im,5);
    
    % 腐蚀
    im2 = erode3d(im,3);
    im3 = erode3d(im,[3,3,10]);
    
    %% 显示结果
    viewer3d(im,double(im1),im,double(im2),im,double(im3))
    % 注意,仅仅运行到这里,是什么都不会显示的哦
    % viewer3d是可视化界面,你得和它互动,要显示什么你的自己学。
    % 这个东西怎么用,就参考“其他=2.关于viewer3d函数”
    

    测试结果如下,其中 红色为原始模型,绿色为操作后模型,黄色为重叠部分
    在这里插入图片描述


    其他

    1. 为了简便易理解,所以没有进行优化,运行速度一般
    2. 关于viewer3d函数,可查看另一篇文章
    3. 三维开闭运算可以组合腐蚀膨胀实现,这里就不贴代码了
    4. 如果有其他问题或需求,欢迎评论区留言或私信
    展开全文
  • 图像预处理灰度二值自适应中值滤波腐蚀膨胀matlab基础毕设
  • 1.图像膨胀Matlab实现:可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象。结构元素对象可以是strel函数返回的对象,也可以是一个自己定义的表示结构元素...
  • 图像处理 膨胀腐蚀 matlab算法实现
  • matlab 图像的膨胀indilate和腐蚀imerode

    万次阅读 多人点赞 2014-11-04 10:51:14
    1.图像膨胀Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象。结构元素对象可以是strel函数返回的对象,也可以是一个自己定义的表示结构...
  • 分水岭算法+腐蚀膨胀
  • FPGA实现车牌识别#二.MATLAB车牌图像的腐蚀膨胀与Sobel边缘检测 笔者大二学了数电,结合之前学习的一些机器学习的基础知识,决定用FPGA实现一个车牌识别系统,由于能力有限可能更新进度较慢,希望理解。这是第二部分...
  • 腐蚀膨胀的基本原理 1.图像形态学处理的概念 数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量比如边界骨架以及凸壳还包括用于预处理或后处理的形态学过滤...
  • matlab图形预处理,用膨胀腐蚀等形态学方法处理图像。
  • matlab 膨胀腐蚀

    千次阅读 2012-10-08 20:01:57
    clc; close all; img=imread('baihe.jpg'); img_gray=rgb2gray(img); subplot(221),imshow(img_gray); [m n]=size(img_gray); img_gray_fu=zeros(m,n); img_gray_peng=zeros(m,n); ... for j=2:n-1
  • 【转载】:Matlab 图像处理 形态学 腐蚀 膨胀 开闭运算 连通分量 - yangyangyang20092010的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/yangyangyang20092010/article/details/8289572  形态学是提取...
  • 实验一:设计结构元素,编程实现以下过程...1.1腐蚀膨胀 方法一:采用四邻域的单位结构元素 B=[0 1 0 1 1 1 0 1 0]; 利用imdilate()函数对图像不断地进行迭代膨胀,再利用imerode()函数,对图像进行迭代膨胀,...
  • matlab 腐蚀代码

    2018-11-26 21:14:07
    数字图像基于matlab腐蚀代码数字图像基于matlab腐蚀代码数字图像基于matlab腐蚀代码数字图像基于matlab腐蚀代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,670
精华内容 668
关键字:

matlab图片腐蚀膨胀

matlab 订阅