数字图像实验:图像形态学操作

合集下载

数字图像,形态学处理

数字图像,形态学处理

《医学图像处理》实验报告摘要本次实验的目的是对二值原始图像进行膨胀和腐蚀,并对经过膨胀和腐蚀后的两张图像进行集合的逻辑运算操作——交集、补集、相减;对二值图像进行边界提取操作;利用阈值处理的方法对二值图像进行连通分量的提取操作;运用上述结果和其他技术解决课本P442的习题9.36。

本次实验的内容是图像腐蚀图像膨胀边界提取连通分量的提取。

一、技术讨论1.1实验原理1.1.1图像的腐蚀腐蚀缩小或细化了二值图像中的物体。

用3X3的结构元,扫描二值图像的每一个元素,将结构元与其覆盖的二值图像做“与”操作,若结果均为1,输出图像的该像素为1,否则输出图像的该像素为0。

图示如下:1.1.2图像的膨胀膨胀会增长或粗化二值图像中的物体。

用3X3的结构元,扫描二值图像的每一个像素,将结构元关于原点的映射与其覆盖的二值图像做“与”操作,若结果均为0,输出图像的该像素为0,否则输出图像的该像素为1。

图示如下:1.1.3图像的边界提取对图像进行边界提取的方法是先对二值图像进行腐蚀,再将经过腐蚀后的输出图像和原始图像做集合差的逻辑运算。

图示如下:1.1.4图像的连通分量提取连通分量是指若像素子集S的全部像素之间存在一个通路,则可以说两个像素p和q之间是连通的,对于S中的任何像素p,S中连通到该像素的像素称为S的连通分量。

图像连通分量的提取方法是先对二值图像进行阈值处理,再对输出图像做腐蚀处理。

1.1.5测地膨胀测地膨胀不是包含一幅输入图像和特定的结构元素而是涉及两幅图像:标记图像和模版图像。

其基本思想是用特定结构元素对标记图像作膨胀运算,并将结果图像限制在模版图像之下。

图示如下:1.2实验函数示例:A.cvErode( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, intiterations=1 );——对二值图像进行腐蚀处理。

1.void cvDilate( constCvArr* src, CvArr* dst, IplConvKernel* element=NULL, intiterations=1 );--对二值图像进行膨胀处理;2.void cvThreshold( constCvArr* src, CvArr* dst, double threshold, double max_value, intthreshold_type);--阈值处理函数;二、结果与讨论2.1实验结果(每个实验均要使用3个不同大小的结构元进行处理,并将实验结果列举出来,注明结构元大小)a. Originpicb. intersectionc. img_eroded.img_dilatee. differencingf. Complementation图1.1、图像腐蚀和膨胀(3X3结构元,中心点为1,1)a. Originpicb. intersectionc. img_eroded.img_dilatee. differencingf. Complementation图1.2、图像腐蚀和膨胀(7X7结构元,中心点为3,3)a. Originpicb. intersectionc. img_eroded.img_dilatee. differencingf. Complementation图1.3、图像腐蚀和膨胀(9X9结构元,中心点为4,4)a. Originpicb. img_outc. img_erode图2.1、边界提取(3X3结构元,中心点为1,1)a. Originpicb. img_outc. img_erode图2.2、边界提取(7X7结构元,中心点为1,1)a. Originpicb. img_outc. img_erode图2.3、边界提取(10X10结构元,中心点为1,1)a. Originpicb. img_outc. img_erode图2.4、边界提取(10X10结构元,中心点为5,5)a. Originpicb.img_out1c.img_out2图3.1、连通分量的提取(5X5结构元,中心点为3,3)a. Originpicb.img_singlec.img_intersectd. img_boundary图4.1 problem4-362.2实验讨论(详细说明解决课本习题9.36的具体思路和过程,若有更好地解决课本习题9.36的方法,请详细给出解答思路或过程)1.腐蚀的作用是消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点;膨胀的作用是将与物体接触的所有背景点合并到物体中,使目标增大,可添补目标中的空洞。

数字图像处理实验6 形态学图像处理

数字图像处理实验6 形态学图像处理

实验6 形态学图像处理一.实验目的:1.掌握形态学图像处理的基本算法:膨胀、腐蚀。

2.掌握MATLAB函数中用于构建结构元的标准函数。

3.掌握开运算、闭运算。

二.实验内容:1.利用MATLAB标准函数构建结构元。

2.运用MATLAB标准函数进行膨胀、腐蚀运算,以及开运算、闭运算三.实验原理:1.构建结构元MATLAB标准函数strel运用各种形状和大小构造结构元素,其基本语法为:se = strel(shape, parameters)其中,shape是指定的希望形状的字符串,而parameters是指定形状信息(如其大小)的一系列参数。

语句形式描述se = strel(‘diamond’, R) 创建一个菱形结构元,其中R是从结构原点到菱形最远点的距离se = strel(‘disk’, R) 创建一个圆盘形结构元,其半径为Rse = strel(‘square’, R) 创建一个方形结构元,其边长为R例:>> se = strel(‘diamond’, 5) //返回一个沿水平和垂直轴扩展5个像素的菱形结构元2.膨胀、腐蚀运算,开运算、闭运算膨胀:MATLAB标准函数imdilate(f, se),f是输入的二值图像,se是用于膨胀的结构元,函数的输出即为膨胀后的二值图像。

腐蚀:MATLAB标准函数imerode(f, se),f是输入的二值图像,se是用于腐蚀的结构元,函数的输出即为腐蚀后的二值图像。

开运算(先腐蚀再膨胀):MATLAB标准函数imopen(f, se),f是输入的二值图像,se是结构元,函数的输出即为开运算后的二值图像。

闭运算(先膨胀再腐蚀):MATLAB标准函数imclose(f, se),f是输入的二值图像,se是结构元,函数的输出即为闭运算后的二值图像。

例:>>f = imread('E:\医学图像处理实验讲义\实验六\mask.bmp')>>se = strel('diamond', 5)>> fd = imdilate(f, se) //膨胀运算>>imshow(f)>>figure, imshow(fd)>>se = strel('diamond', 25)>>fd = imdilate(f, se)>>figure, imshow(fd)四.实验报告:1.创建一个parameters = 1的菱形结构元,在报告中画出该结构元的形状及元素值,并用该结构元对图像text.bmp进行膨胀运算。

实验三 数字图像处理之 形态学

实验三 数字图像处理之  形态学

西安邮电学院实验报告实验名称形态学图像处理课程名称数字图像处理A 姓名成绩班级学号日期2011.5.31 地点3#531实验三 形态学图像处理1. 实验任务(1)了解并掌握膨胀、腐蚀及开运算、闭运算的基本原理;(2)编写程序使用开运算、闭运算处理图像,进一步理解开运算、闭运算的实质;(3)编写程序使用开运算、闭运算进行图像去噪处理,根据实验结果分析效果;(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

2. 实验环境Windws2000/XPMA TLAB 7.x3.实验方法对两幅受噪声干扰的数字图像curve_128.bmp (如图3.1所示)和enoise.bmp (如图3.2所示)进行如下处理:(1)对两幅图像进行腐蚀、膨胀处理,显示处理前、后图像:用不同尺度及形状的结构元素进行腐蚀、膨胀处理,分析结构元素对处理效果的影响; (2)分别对两幅图像设计相应的开、闭运算进行降低噪声的处理,显示处理前、后图像;分析两幅图像为了降低噪声所设计的运算有无不同?如果有请分析为什么会有这种不同?具体实现:在MA TLAB 7.x 中按要求编写附件中程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉并掌握程序中所使用函数的调用方法,改变有关参数,观察并分析试验结果。

4.实验分析图3.1 实验图像curve_128.bmp图3.2 实验图像enoise.bmp在MatLab 中输入各程序代码后运行程序,得到输出结果如图所示: 1-11-22-1原图像加噪声图像线形性腐蚀图线形膨胀图圆形腐蚀图圆形膨胀图原图像加噪声图像线形腐蚀图线形膨胀图方形腐蚀图方形膨胀图2-25.实验结论通过实验理解腐蚀膨胀的用途,腐蚀可以将邻近的不同的目标分离开来,可以将小颗粒的噪声去除;膨胀能够有效地填充物体内部细小的空洞,连接断裂的目标,以便于整体提取,同时能在不明显改变物体面积的情况下平滑物体的边界;但是腐蚀膨胀运算会改变原目标物的大小,所以使用开闭运算解决这个缺点, 开运算即是将原图先腐蚀再膨胀,它可以在分离粘连目标物的同时基本保持元目标物的大小;闭运算即是将原图先膨胀再腐蚀,它可以在合并断裂目标物的同时原图像加噪后图像线形闭运算后图像线形开运算后图像圆形闭运算后的图像圆形开运算后图像原图像加噪后图像腐蚀操作膨胀操作腐蚀操作膨胀操作基本保持原目标物的大小。

DigitalImage012数字图像分析形态学处理

DigitalImage012数字图像分析形态学处理

膨胀
总结词
膨胀是一种将图像中相邻像素合并的操作。
详细描述
膨胀操作能够增加图像中对象的面积,将相邻的像素合并成一个像素。它通过将像素与其邻域像素进 行比较,并将较暗的像素替换为前景色来实现。膨胀操作常用于填补对象内部的空洞和连接断开的对 象。
开运算和闭运算
总结词
开运算和闭运算是基于腐蚀和膨胀的复合操作,分别用于去除较小对象和填充较小对象。
简化
形态学处理能够简化图像的复杂 性,将复杂的图像转化为更简单 的形式,便于分析和理解。
边缘检测
形态学处理能够有效地检测出图 像中的边缘,这对于图像识别和
特征提取等任务非常重要。
缺点
计算量大
细节丢失
形态学处理需要进行大量的计算,对于大 规模的图像数据,处理速度可能会比较慢 。
由于形态学处理会对图像进行简化或滤波 ,因此可能会丢失一些细节信息。
数字图像分析形态学处理
• 引言 • 数字图像处理基础 • 形态学处理基本操作 • 形态学处理的典型应用 • 形态学处理的实现方法 • 形态学处理的优缺点 • 未来展望与研究方向
01
引言
主题简介
数字图像分析形态学处理是一种基于 数学形态学的图像处理方法,用于分 析和处理图像中的形状和结构。
它通过使用特定的运算和算法,对图 像进行膨胀、腐蚀、开运算和闭运算 等形态学变换,以达到改善图像质量 、提取特征和识别目标等目的。
多尺度分析
未来形态学处理将进一步探索多尺度分析方法,以更好地理解和描 述图像在不同尺度上的特征和结构。
深度学习与形态学结合
结合深度学习的方法,将形态学处理与深度学习算法相结合,进一 步提高图像分析的智能化水平。
在其他领域的应用拓展

形态学图像处理实验

形态学图像处理实验

形态学图像处理实验1.算法原理1)提取与图像边界融合的颗粒可利用区域填充算法。

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

2)提取彼此交叠的颗粒可利用图像的腐蚀与膨胀操作。

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

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

2.Matlab源代码clear allclcorigin = imread('E:\Documents\BUPT\DIP\第三次作业\grain.jpg');imshow(origin);title('原图');origin = rgb2gray(origin);filterResult = medfilt2(origin);[m,n] = size(origin);%%%%%%%%%%%%取与边界融合的粒子%%%%%%%%%%%%%binaryIm = im2bw(origin);tmp = ~binary Im; %tmp为取反图像fieldFilling = imfill(tmp,'holes');figure, imshow(fieldFilling);title('区域填充结果');boudaryGrains = origin;for i = 1:mfor j = 1:nif fieldFilling(i,j) ==1boudaryGrains(i,j) = 0;endendendfigure, imshow(boudaryGrains);title('与边界融合的粒子结果');%%%%%%%%%%%取交叠与未交叠的粒子%%%%%%%%%%%%mask1 = strel('ball',12,12);%mask2 = ones(13,13);mask2 = strel('ball',7,7);mask3 = strel('disk',4);mask4 = strel('ball',6,6);result1 = imerode(filterResult,ones(15,15));result2 = filter2(fspecial('average',7),im2double(result1)); result2 = medfilt2(result2);result2 = im2uint8(result2);result3 = imdilate(result2,mask1);figure,imshow(result2);title('第一次腐蚀结果'); figure,imshow(result3);title('第一次膨胀结果');result4 = origin;for i = 1:mfor j = 1:nif result3(i,j) <=20result4(i,j) = 0;elseresult4(i,j) = origin(i,j);endendendfigure,imshow(result4);title('阈值处理结果');result5 = imerode(result4,mask4);result6 = imdilate(result5,mask4);figure,imshow(result6);title('交叠粒子结果');result7 = origin-result4;result8 = imerode(result7,mask4);result9 = imdilate(result8,mask4);figure,imshow(result9);title('未交叠粒子结果');3. 运行结果分析1) 提取与边界融合的颗粒原图区域填充结果与边界融合的粒子结果第一次腐蚀所示结果为在腐蚀之后进行了一次中值滤波和一次5X5均值滤波的结果,为使腐蚀的结果更好,去除独立颗粒的腐蚀残留图像。

《数字图像处理》实验教案

《数字图像处理》实验教案

《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1) 理解数字图像处理的基本概念和原理;(2) 掌握常用的数字图像处理方法和技术;(3) 能够运用数字图像处理软件进行图像处理和分析。

2. 实验要求(1) 熟悉计算机操作和图像处理软件的使用;(2) 能够阅读和理解图像处理相关的文献资料;二、实验内容与步骤1. 实验内容(1) 图像读取与显示;(2) 图像的基本处理方法:灰度化、二值化、滤波;(3) 图像的增强与复原;(4) 图像的分割与描述;(5) 图像的压缩与编码。

2. 实验步骤(1) 打开图像处理软件,导入实验所需的图像;(2) 进行图像的基本处理,观察处理前后的效果;(3) 应用图像的增强与复原方法,改善图像的质量;(4) 使用图像的分割与描述技术,提取图像中的目标区域;(5) 对图像进行压缩与编码,观察压缩后的效果。

三、实验注意事项1. 实验前请确保已经安装了图像处理软件,并熟悉其基本操作;3. 在进行图像分割与描述时,请合理选择阈值和算法,确保目标区域的准确提取;四、实验报告要求1. 实验报告应包括实验目的、实验内容、实验步骤、实验结果和实验总结;2. 实验报告中应详细描述实验过程中遇到的问题及解决方法;3. 实验报告应有清晰的图像处理结果展示,并附上相关图像的处理参数和效果对比;五、实验评分标准1. 实验目的与要求(20分):是否达到实验目的,是否符合实验要求;2. 实验内容与步骤(30分):是否完成实验内容,是否遵循实验步骤;3. 实验注意事项(20分):是否注意实验注意事项,处理过程中是否出现错误;4. 实验报告要求(30分):报告结构是否完整,描述是否清晰,图像处理结果是否合理,总结是否到位。

评分总分:100分。

六、实验一:图像读取与显示1. 实验目的(1) 学习如何使用图像处理软件读取和显示图像。

2. 实验步骤(1) 打开图像处理软件。

(2) 导入实验所需的图像文件。

数字图像处理形态学

数字图像处理形态学

可编辑ppt
10
形态学操作是由一组形态学代数运算子组 成的,它的基本运算有4个:
膨胀(或扩张)- Dilating 腐蚀(或侵蚀)- Eroding 开启(开运算)- Opening 闭合(闭运算)- Closing
可编辑ppt
11
腐蚀
把结构元素B平移a后 得到Ba,若Ba包含于X, 我们记下这个a点,所 有满足上述条件的a点 组成的集合称做X被B 腐蚀的结果。用公式 表示为:
形态学的数学基础和所用语言是集合论
它具有完备的数学基础,这为形态学用于图像分 析和处理、形态滤波器的特性分析和系统设计奠 定了坚实的基础
可编辑ppt
5
1. 元素(element)
设有一幅图象X,若点a在X的区域以内, 则称a为X的元素,记作a∈X
可编辑ppt
6
2.结构元素(structure element)
可编辑ppt
25
设有两幅图象B,X。若X是被处理的对 象,而B是用来处理X的,则称B为结构元素, 又被形象地称做刷子。结构元素通常都是 一些比较小的图象。
可编辑ppt
7
3. B包含于X(included in) 设有两幅图象B,X。对于B中所有的元
素bi,都有bi∈X,则称B包含于X,记作
BX
可编辑ppt
8
开运算: 蓝色
可编辑ppt
17
形态学用于灰度图像边缘检测处理
原始遥感图像
形传传态统统学soL灰baep度lla算边ce子缘算结检子果测结结果果
可编辑ppt
18
消除城市地图中道路上的文字噪声
地图的原图
形态梯度效果图
梯度消除文字效果图
可编辑ppt

数字图像处理实验报告实验三

数字图像处理实验报告实验三
2.设计一个检测图3-2中边缘的程序,要求结果类似图3-3,并附原理说明
代码:
I=imread('lines.png');
F=rgb2gray(I);
subplot(2,2,1);
imshow(I);
title('原始图像');
thread=130/255;
subplot(2,2,2);
imhist(F);
图5-2 添上一层(漆)
3.开运算open:
4.闭close:
5.HMT(Hit-Miss Transform:击中——击不中变换)
条件严格的模板匹配
模板由两部分组成。 :物体, :背景。
图5-3 击不中变换示意图
性质:
(1) 时,
(2)
6.细化/粗化
(1)细化(Thin)
去掉满足匹配条件的点。
图5-4 细化示意图
se = strel('ball',5,5);
I2 = imerode(I,se);
imshow(I), title('Original')
figure, imshow(I2), title('Eroded')
Matlab用imopen函数实现图像开运算。用法为:
imopen(I,se);
I为图像源,se为结构元素
构造一个中心具有菱形结构的结构元素,R为跟中心点的距离
SE = strel('rectangle',MN)
构造一个矩形的结构元素,MN可写在[3 4],表示3行4列
SE = strel('square',W)
构造一个正方形的矩阵。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%实验八
%1.使用函数imread打开一幅灰度图像(fig0906.tif);
%对图像进行膨胀运算,分别使用半径为5的结构元素
f1=imread('C:\Documents and Settings\Administrator\桌面\实验八\fig0906.tif');
%B = strel('disk',5); %半径为5
%B=strel('rectangle',[5 5])
B=ones(5);
F=imdilate (f1,B);
figure
subplot(121);imshow(f1);title('原图');
subplot(122);imshow(F);title('膨胀结果(半径为5)');
%使用函数imread打开一幅灰度图像(fig0908.tif);
%对图像进行腐蚀运算,分别使用半径为5,10,20的结构元素,观察三种的结果的差异;f2=imread('C:\Documents and Settings\Administrator\桌面\实验八\fig0908.tif');
B1=ones(5);
B2=ones(10);
B3=ones(20);
F1=imerode (f2,B1);
F2=imerode (f2,B2);
F3=imerode (f2,B3);
figure
subplot(221);imshow(f2);title('原图');
subplot(222);imshow(F1);title('腐蚀(半径为5)');
subplot(223);imshow(F2);title('腐蚀(半径为10)');
subplot(224);imshow(F3);title('腐蚀(半径为20)');
%3.使用函数imread打开一幅灰度图像(fig0910.tif);
%使用半径为10的结构元素,分别对图像进行开运算和闭运算,观察两种运算结果之间的差异;
f3=imread('C:\Documents and Settings\Administrator\桌面\实验八\fig0910.tif');
B4=ones(10);
F4=imopen (f3,B4);
F5=imclose (f3,B4);
F6=imopen(F5,B4);
figure
subplot(221);imshow(f3);title('原图');
subplot(222);imshow(F4);title('开运算');
subplot(223);imshow(F5);title('闭运算');
subplot(224);imshow(F6);title('先闭后开');
%使用函数imread打开一幅灰度图像(fig0926bw.tif);
%这是一张米粒的照片,设计一种方法,使用前面介绍的函数计算米粒的个数f4=imread('C:\Documents and Settings\Administrator\桌面\实验八\fig0926bw.tif'); [L, n] = bwlabel(f4,4);
L = bwlabel(f4,4)
原图膨胀结果(半径为5)
原图腐蚀(半径为5)
腐蚀(半径为10)腐蚀(半径为20)
原图开运算
闭运算先闭后开。

相关文档
最新文档