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

合集下载

数字图像,形态学处理

数字图像,形态学处理

《医学图像处理》实验报告摘要本次实验的目的是对二值原始图像进行膨胀和腐蚀,并对经过膨胀和腐蚀后的两张图像进行集合的逻辑运算操作——交集、补集、相减;对二值图像进行边界提取操作;利用阈值处理的方法对二值图像进行连通分量的提取操作;运用上述结果和其他技术解决课本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.掌握基本形态学运算的实现3.了解形态操作的应用2.实验基本原理腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。

膨胀就是把连接成分的边界扩大一层的处理。

而收缩则是把连接成分的边界点去掉从而缩小一层的处理。

二值形态学I(x,y), T(i,j)为 0/1图像Θ腐蚀:[]),(&),(),)((),(0,j i T j y i x I AND y x T I y x E mj i ++=Θ==膨胀:[]),(&),(),)((),(0,j i T j y i x I OR y x T I y x D mj i ++=⊕==灰度形态学 T(i,j)可取10以外的值 腐蚀:[]),(),(min ),)((),(1,0j i T j y i x I y x T I y x E m j i -++=Θ=-≤≤膨胀:[]),(),(max ),)((),(1,0j i T j y i x I y x T I y x D m j i +++=⊕=-≤≤1.腐蚀Erosion:{}x B x B X x ⊂=Θ:1B 删两边 2B 删右上图5-1 剥去一层(皮)2.膨胀Dilation:{}X B x B X x ↑⊕:=1B 补两边2B 补左下图5-2 添上一层(漆)3.开运算open :B B X ⊕Θ=)(X B4.闭close :∨Θ⊕=B B X XB)(5.HMT(Hit-Miss Transform:击中——击不中变换) 条件严格的模板匹配),(21T T T =模板由两部分组成。

1T :物体,2T :背景。

{}C x x i X T X T X T X ⊂⊂=⊗21,图5-3 击不中变换示意图性质:(1)φ=2T 时,1T X T X Θ=⊗ (2))()()(21T X T X T X C Θ⋂Θ=⊗ C T X T X )()(21Θ⋂Θ=)/()(21T X T X ΘΘ=6.细化/粗化 (1)细化(Thin )C T X X T X XoT )(/⊗⋂=⊗=去掉满足匹配条件的点。

(数字图像处理)第八章图像形态学运算

(数字图像处理)第八章图像形态学运算

缺点
对参数敏感
形态学运算的效果很大程度上取决于所选择的参 数,如结构元素的大小、形状和方向等,参数选 择不当可能导致处理效果不佳。
对大图像处理效率较低
对于大规模的图像,形态学运算可能需要较长时 间来计算,影响处理效率。
可能改变原始信息
形态学运算可能会改变图像中的原始信息,如细 小的细节或纹理,这在使用形态学运算进行图像 增强时需要注意。
击中击不中变换
总结词
击中击不中变换是一种基于形态学运算的逻辑运算,通过判断结构元素是否能够 击中或击不中图像中的对象来确定输出结果。
详细描述
击中击不中变换通过比较结构元素与图像中的对象是否匹配来确定输出结果。如果 结构元素能够击中图像中的对象,则输出为1,否则输出为0。击中击不中变换在检 测图像中的边缘、识别特定形状等方面具有广泛应用。
应用前景
医学影像分析
形态学运算在医学影像分析中 具有广泛应用,如病灶检测、 组织分割等。
遥感图像处理
在遥感图像处理中,形态学运 算可用于提取地形地貌特征、 监测土地利用变化等。
计算机视觉
在计算机视觉领域,形态学运 算可用于目标检测、跟踪和识 别等任务。
THANK YOU
感谢聆听
02
03
04
简化图像处理流程
形态学运算能够直接对图像进 行操作,无需进行复杂的预处 理或后处理,简化了图像处理 的流程。
增强图像特征
形态学运算能够突出图像中的 形状、边缘和纹理等特征,有 助于后续的特征提取和识别。
抑制噪声
形态学运算能够有效地去除图 像中的噪声,提高图像的清晰 度和质量。
实现简单
形态学运算算法相对简单,易 于实现,降低了计算复杂度和 时间成本。

数字图像处理报告 形态学

数字图像处理报告 形态学

《数字图像处理》实验报告姓名XXX学号111111111 专业XXX 实验5一、实验目的1、初步学习掌握形态学的基本知识;2、学会和掌握形态学中基本的图像处理,包括膨胀与腐蚀,开操作和闭操作,边界提取,区域填充,细化粗化等。

3、进一步熟练掌握matlab操作,运用matlab对二值图像实现边界提取,在边界提取基础上实现区域填充。

在区域填充基础上实现细化,在细化基础上再实现粗化。

二、核心代码及运行截图首先读取原图像如下:im=imread('E:/matlab/zimu.jpg');将原图转化为灰度图,命令如下:im = rgb2gray(im);对图像进行二值化处理,代码如下:binary.mfunction [ y ] = binary( im )[m,n] = size(im);y = zeros(m,n);for i=1:mfor j=1:nif im(i,j)>127y(i,j) = 1;elsey(i,j) = 0;endendendend对图像进行膨胀处理,代码如下:expand.mfunction [ y ] = expand( im,B )[m,n] = size(im);[a,b] = size(B);y = zeros(m,n);for i=(1+(a-1)/2):(m-(a-1)/2)for j=(1+(b-1)/2):(n-(b-1)/2)if sum(sum(B &im(i-(a-1)/2:i+(a-1)/2,j-(b-1)/2:j+(b-1)/2)),2) ~= 0 y(i,j) = 1;endendendend以上处理过程命令代码以及所得结果如下:subplot(2,2,1);imshow(im);title('original image');im=rgb2gray(im);subplot(2,2,2);imshow(im);title('gray image');im=binary(im);subplot(2,2,3);imshow(im);title('binary image');B=ones(3,3);B1 = [0,1,0;1,1,1;0,1,0];im1 = expand(im,B);subplot(2,2,4);imshow(im1);title('expand image');处理结果图片如下:将原二值图像与膨胀图像相减得到对比图像,命令如下:figure;imshow(im1-im);处理结果显示如下:对原二值图像进行腐蚀处理,代码如下:corrosion.mfunction [ y ] = corrosion( im,B )[m,n] = size(im);[a,b] = size(B);y = zeros(m,n);for i=(1+(a-1)/2):(m-(a-1)/2)for j=(1+(b-1)/2):(n-(b-1)/2)if B==im(i-(a-1)/2:i+(a-1)/2,j-(b-1)/2:j+(b-1)/2) y(i,j) = 1;endendendend处理命令及处理结果图像如下:im2 = corrosion(im,B);figure,imshow(im2);然后根据上面结果提取边界,操作命令如下:im3 = im - im2;figure,imshow(im3);处理所得的边界图像如下:接下来对图像选定区域进行填充处理,首先对图像进行区域选定,命令如下:[x,y]=ginput;x=round(x);y=round(y);对选定的区域进行填充,函数代码如下:filling.mfunction [ im2 ] = filling( im,B,x,y )[m,n] = size(im);[a,b] = size(x);im1 = zeros(m,n);im2 = zeros(m,n);imc = ~im;for i = 1:aim2(y(i,b),x(i,b)) = 1;endwhile sum(sum(im2-im1),2)~=0, im1 = im2;im2 = expand(im1,B);im2 = im2&imc;endim2 = im1|im;im2 = double(im2);end操作命令及图像如下:im4 = filling(im3,B1,x,y);figure,imshow(im4);对填充后的图像进行细化,函数代码为:refinement.mfunction [ y ] = refinement( im )[m,n] = size(im);B = [0,0,0;0.5,1,0.5;1,1,1];b = [0,0,0;0.5,0,0.5;0,0,0];y = im;for k=1:8for i=2:m-1for j=2:n-1if(im(i,j)==1)x = abs(im(i-1:i+1,j-1:j+1)-b);if (x-B)==0y(i,j) = 0;endendendendim = y;B = imrotate(B,-45,'crop');b = imrotate(b,-45,'crop');endend一次细化操作命令及处理结果如下:im5 = refinement(im4);figure,imshow(im5);多次细化结果如下:对上面细化后图像进行一次粗化,函数代码为:coarsening.mfunction [ y ] = coarsening( im ) y = ~im;y = refinement(y);y = ~y;end操作命令及处理结果图像为:im6 = coarsening(im5);figure,imshow(im6);多次粗化的结果如下:三、实验总结本次实验运用matlab编写代码对二值图像进行各种形态学处理,包括边界提取,在边界提取基础上实现区域填充,在区域填充基础上上实现细化,在细化基础上在实现粗化等操作,此外,还涉及到对图像的膨胀,腐蚀等处理。

数字图像课设——形态学处理

数字图像课设——形态学处理

摘要形态学运算只针对二值图像(二进制图像),并依据形态学(Mathermatical Morphogy)集合论方法发展起来的图像处理方法,起源于岩相对岩石结构的定量描述工作,在数字图像处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图像分析方法和理论。

形态学是图像处理和模式识领域的新方法,其基本思想是:用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到图像分析和识别的目的。

优势有以下几点:有效滤除噪声,保留图像中原有信息,算法易于用并行处理方法有效实现(包括硬件实现),基于形态学的边缘信息提取处理优于基于微分运算的边缘提取算法,提取的边缘比较平,提取的图像骨架也比较连续,断点少。

关键词:数字图像处理;二值图像处理;形态学;MATLAB目录1课程设计要求 (1)2课程设计目的 (1)3相关知识 (2)3.1 MATLAB简介 (2)3.2 MATLAB在图像处理中的应用 (2)3.3图像处理概念 (3)4形态学处理设计分析 (4)4.1二值图像的基本原理 (4)4.1.1图像二值化基本原理 (4)4.1.2图像二值化算法 (4)4.2二值形态学的基本运算 (5)4.2.1 二值腐蚀运算 (5)4.2.2二值膨胀运算 (6)4.2.3二值开运算 (6)4.2.4二值闭运算 (6)5形态学处理程序设计 (8)5.1程序代码 (8)5.1.1图像的腐蚀和膨胀 (8)5.1.2图像的开运算处理 (8)5.1.3图像的闭运算处理 (8)6形态学处理的仿真分析 (9)6.1 图像的腐蚀和膨胀仿真分析 (9)6.2 图像的开运算仿真分析 (12)6.2 图像的闭运算仿真分析 (13)结论 (14)参考文献 (15)1课程设计要求(1) 对数字图像处理这门课程所学知识进行巩固和扩充;(2) 运用图像理论知识来完成图像的小波变换的设计;(3) 学习使用软件MATLAB;(4) 熟练掌握MATLAB仿真软件的使用方法,理解图像腐蚀的原理;(5) 设计合理的程序,能实现图像的腐蚀,编程实现腐蚀;(6) 增强学生对图像学科的学习兴趣,培养图像处理的仿真建模能力。

数字图像处理实验(全完整答案)

数字图像处理实验(全完整答案)

实验一常用MATLAB图像处理命令一、实验目得1、熟悉并掌握MATLAB工具得使用;2、实现图像得读取、显示、代数运算与简单变换。

二、实验环境MATLAB 6。

5以上版本、WIN XP或WIN2000计算机三、常用函数●读写图像文件1 imreadimread函数用于读入各种图像文件,如:a=imread('e:\w01。

tif')2 imwriteimwrite函数用于写入图像文件,如:imwrite(a,’e:\w02。

tif’,’tif')3imfinfoimfinfo函数用于读取图像文件得有关信息,如:imfinfo('e:\w01、tif’)●图像得显示1imageimage函数就是MATLAB提供得最原始得图像显示函数,如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12];image(a);2 imshowimshow函数用于图像文件得显示,如:i=imread('e:\w01、tif');imshow(i);title(‘原图像’)%加上图像标题3 colorbarcolorbar函数用显示图像得颜色条,如:i=imread(’e:\w01。

tif');imshow(i);colorbar;4 figurefigure函数用于设定图像显示窗口,如:figure(1); /figure(2);5 subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示、Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形、6 plot绘制二维图形plot(y)Plot(x,y)xy可以就是向量、矩阵。

图像类型转换1rgb2gray把真彩图像转换为灰度图像i=rgb2gray(j)2 im2bw通过阈值化方法把图像转换为二值图像I=im2bw(j,level)Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原图像灰度范围得n%3 imresize改变图像得大小I=imresize(j,[m n])将图像j大小调整为m行n列图像运算1imadd两幅图像相加,要求同样大小,同种数据类型Z=imadd(x,y)表示图像x+y2 imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y) 表示图像x-y3 immultiplyZ=immultiply(x,y) 表示图像x*y4 imdivideZ=imdivide(x,y) 表示图像x/y四、实验内容(请将实验程序填写在下方合适得位置,实验图像结果拷屏粘贴)1、读入一幅RGB图像,变换为灰度图像与二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像与灰度图像,注上文字标题。

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、熟悉图像形态学分析的基本原理,观察不同形态学方法处理的结果;2、熟悉图像阈值分割、区域生长、投影及差影检测和模板匹配的基本原理,观察处理的结果;3、熟悉图像边缘检测、Hough平行线检测、轮廓提取及跟踪和种子填充的基本原理,观察处理的结果;4、了解图像矩、空穴检测、骨架提取的基本原理,观察处理的结果。

三、实验原理本次实验侧重于演示观察,由于内容繁多,并且系统中已有部分实验项目的原理说明,因此实验原理及编程实现步骤这里不再详细叙述,有兴趣的同学可以查阅数字图像处理方面的有关书籍。

四、实验内容1、图像形态学分析内容包括:图像膨胀、图像腐蚀、开运算、闭运算和图像细化针对二值图像进行处理,有文字说明,实验步骤中将详细介绍其使用方法。

2、图像分割内容包括:阈值分割、区域生长、投影检测、差影检测和模板匹配阈值分割:支持灰度图像。

从图库中选择图像分割中的源图, 然后执行图像分析→图像分割→阈值分割, 比较原图和分割后的图, 对照直方图分析阈值分割的特点。

对源图再执行一次图像变换→点运算→阈值变换, 比较分析阈值变换和阈值分割的结果。

区域生长:支持灰度图像。

操作方法与阈值分割类似,比较分析其与阈值分割的不同。

投影检测:只支持二值图像。

从图库中选择投影检测中的源图, 然后执行图像分析→投影检测→水平投影, 然后再垂直投影, 记录下检测部分的水平和垂直方向的位置。

如有必要, 在检测之前, 对图像进行平滑消噪。

差影检测:支持灰度图像。

从图库中选择图像合成中的源图, 然后执行图像分析→图像合成→图像相减, 在弹出的文件对话框中选择图库图像合成中的模板图像,观察分析差影结果。

模板匹配:支持灰度图像。

从图库中选择模板匹配中的源图, 然后执行图像分析→模式识别→模板匹配, 在弹出的文件对话框中选择图库模板匹配中的模板图像, 观察分析结果。

数字图像处理实验__数学形态学及其应用

数字图像处理实验__数学形态学及其应用

实验五: 图像分割与边缘检测一.实验目的1. 理解图像分割的基本概念;2. 理解图像边缘提取的基本概念;3. 掌握进行边缘提取的基本方法;4. 掌握用阈值法进行图像分割的基本方法。

二.实验基本原理 ●图象边缘检测图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。

边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。

在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。

边缘检测实际上就是检测图像特征发生变化的位置。

图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。

由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。

边缘检测的方法大多数是基于方向导数掩模求卷积的方法。

导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。

一阶导数与是最简单的导数算子,它们分别求出了灰度在x 和y 方向上的变化率,而方向α上的灰度变化率可以用相应公式进行计算;对于数字图像,应该采用差分运算代替求导。

一幅数字图像的一阶导数是基于各种二维梯度的近似值。

图像f(x,y)在位置(x,y)的梯度定义为下列向量:G[f(x,y)]=[]在边缘测中,一般用这个向量的大小,f ∇用表示2/122][Gy Gx f +=∇ 函数f 在某点的方向导数取得最大值的方向是,方向导数的最大值是称为梯度模。

图像的数学形态学变换

图像的数学形态学变换

一、数字图像处理实验实验八 图像的数学形态学变换一、实验目的运用数学形态学方法对二值图像和灰度图像进行相应处理,使图像的某些特征得以增强。

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

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

三、实验原理数学形态学图像处理的基本思想是利用一个称作结构元素的“探针”收集图像的信息。

当探针在图像中不断移动时,便可考察图像各个部分间的相互关系,从而了解图像各个部分的结构特征。

作为探针的结构元素,可直接携带知识(形态、大小、以及灰度和色度信息)来探测所研究图像的结构特点。

1. 二值图像数学形态学二值形态学中的运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像进行操作。

其基本运算有四种:腐蚀、膨胀、开运算和闭运算。

基于这些基本运算和组合来进行图像形状和结构的分析及处理。

如果A 是图像集合,B 是结构元素(B 本身也是一个图像集合),形态学运算将使用B 对A 进行操作。

结构元素往往比图像小得多。

基本运算将遵循这个原则。

z 膨胀和腐蚀膨胀是在二值图像中“加长”或“变粗”的操作。

这种特殊的方式和变粗的程度由一个称为结构元素的集合控制。

数学上,膨胀定义为集合运算。

A 被B 膨胀,记为B A ⊕,定义为}])[(|{A A B x B A x ⊆=⊕∧I (8.1)腐蚀“收缩”或“细化”二值图像中的对象。

像在膨胀中一样,收缩的方式和程度由一个结构元素控制。

腐蚀的数学定义与膨胀相似,A 被B 腐蚀记为A B ,定义为(8. 2)z 开运算和闭运算在图像处理的实际应用中,更多地以各种组合的形式来使用膨胀和腐蚀,它们可以级连结合使用。

膨胀后再腐蚀,或者腐蚀后再膨胀,通常不能恢复成原来图像(目标),而是产生一种新的形态变换,这就是开运算和闭运算。

A 被B 的形态学开运算可以记做B A o ,这种运算是A 被B 腐蚀后再用B 来膨胀腐蚀结果:(8.3)A 被B 的形态学闭运算记做B A •,它是先膨胀再腐蚀的结果:(8.4)当处理二值图像时,采用上述的形态学变换组合,主要应用于提取某一区域的边界线、图像边缘轮廓、物体骨架特征和目标识别等众多的实际应用。

  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)
原图开运算
闭运算先闭后开。

相关文档
最新文档