matlab 形态学 颗粒_数字图像处理Matlab-形态学图像处理(附代码)

这是一篇基于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】国家开放大学2018年秋季 0717-21T社会保障基础 参考试题

科目编号:[0721] 座位号 2018-2019学年度第一学期期末考试 财务管理实务 试题 2019年 1 月 一、单项选则题(本大题共10小题,每小题3分,共计30分) (★请考生务必将答案填入到下面对应序号的答题框中★&…

视频光端机维护三大步骤

视频光端机分为发射端设备和接收端设备,发射端设备和摄像机一样置于室外,工程人员通常是对发射端设备过行维护测试。对于视频光端机的检修工作,我们一般分为三个步骤来进行测试。接下来就由飞畅科技的小编来带大家详细了解下视频光端机维护的…

2021年广东-国家开放大学考试指南(必看)-远程辅助以及微信公众号查题

考前准备工作 一、电脑以及摄像头、浏览器准备 1:一台比较流畅的电脑,这个千万不能马虎,万一考试电脑蓝屏或者卡顿,那是很要命的。 2:摄像头:笔记本有自带的可以用自带的,如果是台式机&#…

java jsonarray 追加_我们如何在Java中将JSONArray添加到JSONObject?

该JSON是用于交换数据的基于文本的格式。它是轻量级的组件,与语言无关。我们还可以将JSONArray添加到JSONObject。我们需要首先将一些项目添加到ArrayList中,并将此列表传递给JSONArray类的put()方法,最后使用put()方法将此数组添加到JSONObj…

内存映射文件 写入 卡住_在Java中使用内存映射文件时检测(写入)失败

内存映射文件 写入 卡住内存映射文件是一个很好的并且经常被忽视的工具。 我不会在这里详细介绍它们的工作方式(使用 力 Google Luke!),但我将快速总结其优势: 操作系统提供的延迟加载和写入缓存(您不必…

飞畅科技——视频光端机用光模块的选型详解

光模块的出现简化了数字视频光端机的设计,我们只要把光模块当作一个具有光电转换功能的部件就可以了。那么针对各种不同的光端机,应该怎样选择相应的光模块呢?接下来就由飞畅科技的小编来为大家详细介绍下视频光端机用光模块的选型&#xff0…

视频监控中的光端机是干什么用的?

现如今,随着社会的进步和经济的发展,人民生活开始富裕,经济宽裕的家庭用户已开始考虑使用监控产品来保护自己,监控已经呈现融入家庭生活的趋势。就数字监控而言,虽然是后起之秀,但依然是现阶段发展趋势。光…

每个Java开发人员都应该知道的10个基本工具

大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经为2019年的学习目标以及如何实现这些目标制定了目标。 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改进以成为2019年更好的全方位开发人员,例…

java怎么使异常不起作用_java – @Test(expected = Exception.class)对我不起作用,我错过了什么?...

我正在使用sts,但也在命令行上使用mvn clean install.我创建了这个简单的测试作为例子.import org.junit.Test;import junit.framework.TestCase;public class QuickTest extends TestCase {Test(expected Exception.class)public void test() {throwsException();}private vo…

数字非压缩光端机的选购原则

数字非压缩光端机主要应用于高速公路监控领域,可以保证实时性,指的是不经过压缩进行光传输的光端机,是在非压缩光端机基础上利用ADM电分插复用与TDM时分复用技术在一根光纤中实现多点多路(最大16个视频点)视频传播的光…

spring集成jndi_Spring应用程序与JNDI连接池的集成测试

spring集成jndi我们都知道,无论何时连接到数据库,都需要使用连接池。 所有使用JDBC 4类的现代驱动程序都支持它。 在本文中,我们将概述Spring应用程序中的连接池,以及如何在非JEE环境(例如测试)中处理相同的…

java构造函数重载继承_Java基础-继承 - 写代码换盆的个人空间 - OSCHINA - 中文开源技术交流社区...

访问权限Java 中有三个访问权限修饰符:private、protected 以及 public,如果不加访问修饰符,表示包级可见。可以对类或类中的成员(字段和方法)加上访问修饰符。类可见表示其它类可以用这个类创建实例对象。成员可见表示其它类可以用这个类的实…

【渝粤教育】21秋期末考试管理会计10171k2

1、下列项目中,变动成本法下计入产品成本的是( )。 (2 分) A.变动性制造费用 B.变动性管理费用 C.固定性管理费用 D.固定性制造费用 2、将成本中心划分为标准成本中心和费用中心的分类依据是&am…

数字光端机和模拟视频光端机的六个不同点

说到模拟视频光端机与数字光端机的不同之处,在这里飞畅科技的小编要介绍六点不一样的地方来详细讲解模拟视频光端机与数字光端机的不同。模拟视频光端机与数字光端机究竟有何区别,这也是众多用户所关心的确问题,本文从以下几个方面进行如下论…

在硒中按TagName定位元素

硒定位器是处理网页上的元素时的关键。 从ID,名称,类,标记名,XPath,CSS选择器等定位器列表中,可以根据需要选择其中任何一种,然后在网页上找到Web元素。 由于与tagName或linktext相比&#xff0…

java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java

一、每次把新遍历的链表值放到list索引为0的位置&#xff0c;实现逆序。public class Solution {public ArrayList printListFromTailToHead(ListNode listNode) {ArrayList listnew ArrayList<>();if(listNodenull) return list;while(listNode!null){list.add(0,listNo…

工业级以太网交换机-管理型

工业以太网交换机&#xff0c;即应用于工业控制领域的以太网交换机设备&#xff0c;由于采用的网络标准&#xff0c;其开放性好、应用广泛以及价格低廉、使用的是透明而统一的TCP/IP协议&#xff0c;以太网已经成为工业控制领域的主要通信标准。那么&#xff0c;管理型工业级以…

【渝粤教育】国家开放大学2018年春季 0064-22T20世纪欧美文学 参考试题

试卷代号&#xff1a;0064 2017-2018学年第二学期期末考试 外国文学专题试题 2018年7月 一、填空题&#xff08;每空3分&#xff0c;共30分&#xff09; 1. 是作家又是政治活动家&#xff0c;曾多次来到中国。他著有两部描写中国工人罢工和起义的作品&…

jdk 1.8 jdk8_JDK 8功能的可疑方面

jdk 1.8 jdk8我们大多数使用Java进行开发的人通常都热衷于JDK 8附带的功能和改进。 但是&#xff0c;最近有几篇文章指出了某些功能可能会被滥用和滥用&#xff0c;并可能在将来导致一些其他问题。 这些功能使我想起了J2SE 5中引入的自动装箱功能&#xff0c;虽然有其有用的情况…

Java注解参数类型枚举值_EffectiveJava-5-枚举和注解

用enum代替int常量1. int枚举&#xff1a;引入枚举前&#xff0c;一般是声明一组具名的int常量&#xff0c;每个常量代表一个类型成员&#xff0c;这种方法叫做int枚举模式。int枚举模式是类型不安全的&#xff0c;例如下面两组常量&#xff1a;性别和动物种类&#xff0c;二者…