实验五 图像形态学处理
- 格式:doc
- 大小:543.50 KB
- 文档页数:2
实验五、数学形态学实验六、形态学图像处理一.实验目的及要求1.利用MATLAB研究二值形态学图像处理常用算法;2.掌握MATLAB形态学图像处理根本操作函数的使用方法; 3.了解形态学的根本应用。
二、实验原理1.编程实现二值图像的根本形态学处理〔腐蚀、膨胀、开运算和闭运算〕;选择不同结构元素筛选图像目标。
2.用形态学运算实现灰度图像的噪声平滑和图像边缘提取。
三、实验原理数学形态学图像处理的根本思想是利用一个称作结构元素的“探针〞收集图像的信息。
当探针在图像中不断移动时,便可考察图像各个局部间的相互关系,从而了解图像各个局部的结构特征。
作为探针的结构元素,可直接携带知识〔形态、大小、以及灰度和色度信息〕来探测所研究图像的结构特点。
二值形态学中的运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像进行操作。
其根本运算有四种:腐蚀、膨胀、开运算和闭运算。
基于这些根本运算和组合来进行图像形状和结构的分析及处理。
如果 A是图像集合,B是结构元素〔 B本身也是一个图像集合〕,形态学运算将使用B对A进行操作。
结构元素往往比图像小得多。
根本运算将遵循这个原那么。
?膨胀和腐蚀膨胀是在二值图像中“加长〞或“变粗〞的操作。
这种特殊的方式和变粗的程度由一个称为结构元素的集合控制。
腐蚀“收缩〞或“细化〞二值图像中的对象。
像在膨胀中一样,收缩的方式和程度由一个结构元素控制。
?开运算和闭运算在图像处理的实际应用中,更多地以各种组合的形式来使用膨胀和腐蚀,它们可以级连结合使用。
膨胀后再腐蚀,或者腐蚀后再膨胀,通常不能恢复成原来图像〔目标〕,而是产生一种新的形态变换,这就是开运算和闭运算。
当处理二值图像时,采用上述的形态学变换组合,主要应用于提取某一区域的边界线、图像边缘轮廓、物体骨架特征和目标识别等众多的实际应用。
更多内容青参考教材p402有关内容。
三、实验内容1、二值图像的形态学变换需要编写的二值图像形态学变换函数: functionnewbuf=BwFilter(oldbuf,select)该函数调用MATLAB关于膨胀、腐蚀和图像筛选算法的相关函数,对二值图像进行相应的处理,最后结果存放在newbuf数组中。
《医学图像处理》实验报告摘要本次实验的目的是对二值原始图像进行膨胀和腐蚀,并对经过膨胀和腐蚀后的两张图像进行集合的逻辑运算操作——交集、补集、相减;对二值图像进行边界提取操作;利用阈值处理的方法对二值图像进行连通分量的提取操作;运用上述结果和其他技术解决课本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.腐蚀的作用是消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点;膨胀的作用是将与物体接触的所有背景点合并到物体中,使目标增大,可添补目标中的空洞。
形态学图像处理实验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. 实验一:图像读取与显示本次实验主要是学习如何读取和显示图像,以及使用Matplotlib库进行图像展示。
通过实验,我掌握了图像读取和显示的基本方法,并学会了基本的图像处理操作。
2. 实验二:图像的灰度变换实验二主要是学习图像的灰度变换,包括线性变换和非线性变换。
我学会了如何使用不同的灰度变换函数来调整图像的亮度和对比度,进一步提升图像的质量。
3. 实验三:图像的空间域滤波本次实验主要是学习图像的空间域滤波技术,包括均值滤波、中值滤波和高斯滤波等。
通过实验,我掌握了不同滤波方法的原理和实现方式,并学会了如何选择合适的滤波方法来降噪和模糊图像。
4. 实验四:图像的频域滤波实验四主要是学习图像的频域滤波技术,包括傅里叶变换和频域滤波等。
通过实验,我了解了傅里叶变换的原理和应用,并学会了如何使用频域滤波来实现图像的锐化和平滑。
5. 实验五:图像的形态学处理本次实验主要是学习图像的形态学处理技术,包括腐蚀、膨胀、开运算和闭运算等。
通过实验,我学会了如何使用形态学操作来改变图像的形状和结构,进一步改善图像的质量。
6. 实验六:图像的边缘检测实验六主要是学习图像的边缘检测技术,包括Sobel算子、Laplacian算子和Canny算子等。
通过实验,我了解了不同边缘检测方法的原理和应用,并学会了如何使用边缘检测来提取图像的轮廓和特征。
7. 实验七:图像的分割与聚类本次实验主要是学习图像的分割与聚类技术,包括阈值分割、区域生长和K均值聚类等。
通过实验,我掌握了不同分割与聚类方法的原理和应用,并学会了如何使用分割与聚类来识别和分析图像中的目标和区域。
8. 实验八:图像的特征提取与描述子实验八主要是学习图像的特征提取和描述子技术,包括尺度不变特征变换(SIFT)和方向梯度直方图(HOG)等。
实验五图像形态学处理一、实验目的:1、进一步了解MATLAB关于图像处理的相关指令。
2、了解图像腐蚀、膨胀、开启、闭合及细化的目的及意义,加深对其的感性认识,巩固所学理论知识。
3、能够编程实现图像的各种形态学处理。
4、观察并比较图像处理结果。
二、实验内容:图像腐蚀、图像膨胀、开启、闭合、细化三、实验仪器PC一台,MATLAB软件。
四、实验报告要求:1、写出程序2、附上处理前后的图像3、写出对处理前后图像的分析(即:说明图像的变化)有关结构元素说明:se1 = strel('square',11) % 结构元素为边长11的正方形se2 = strel('line',10,45) % 倾角为45度长为10的线性结构se3 = strel('disk',15) % 半径为15的圆盘se4 = strel('ball',15,5) %半径为15高为5的球形结构一、图像的膨胀运算(在右图中任选一幅图像处理)函数说明:se=strel('ball',8,8); %设定直径为8的球形结构元素I2=imdilate(I,se); %膨胀函数,I:原图像,se:结构元素,I2:输出图像二、任选题(一)中一幅图像根据膨胀程序编写腐蚀程序,实现腐蚀处理,保存处理前后图像(图像要标明'title'),并分析处理结果。
yuan.bmp函数: se=strel('ball',8,8); %设定球形结构元素I2=imerode(I,se); %腐蚀函数三、编写程序对gujia.bmp 图像实现开启闭合处理,保存处理前后图像(图像要标明'title'),并分析处理结果。
%开启闭合函数说明:se=strel('disk',5,4); %先生成圆形结构元素I1=imopen(I,se); %开启操作I :原图像,se :结构元素,I1:输出图像I2=imclose(I,se); %闭合操作四、对“Hello Word ” 图像进行一次或多次细化,观察效果,并细化到一个元素函数说明:I1=bwmorph(I,'thin',n); % I 为输入的二值图像,'thin':进行的操作,此处为细化,n :执行操作的次数,I1:输出图像% 细化I=imread(' Hello World .bmp');I=I(:,:,1);subplot(221);imshow(I); title('原图像');I1=bwmorph(I,'thin',1); %细化1次,'thin'为细化处理,将thin 改为skel 可以提取骨架 subplot(222);imshow(I1); title('细化1次的结果');I2=bwmorph(I,'thin',inf); %细化到目标只有一个元素subplot(223);imshow(I2); title('细化到只有一个元素');kong.bmp gujia.bmp Hello World.bmp原图像细化1次的结果细化到只有一个元素。
科学研究报告中如何展示实验结果的图像处理与分析导语:科学研究中,实验结果的图像处理与分析是非常重要的环节。
通过对图像进行处理和分析,可以得出更准确、更有说服力的结论,提升实验的可靠性和科学性。
本文将从图像处理的选择、图像处理工具的使用、结果的呈现方式、图像分析的方法以及图像处理的注意事项等方面进行讨论。
一、图像处理的选择图像处理在科学研究中有着广泛的应用。
选择合适的图像处理方法对于准确地提取实验结果非常重要。
常见的图像处理方法包括滤波、增强、分割、配准等。
根据实验的需求,选择相应的图像处理方法可以提高实验结果的可视化效果和准确性。
二、图像处理工具的使用现今有许多成熟的图像处理工具可供选择,如Adobe Photoshop、ImageJ等。
这些工具具有丰富的功能和友好的界面,可对图像进行裁剪、旋转、亮度对比度调整、去噪等操作。
此外,还可以进行图像分割、特征提取、测量等功能,供科学家深入研究实验结果。
三、结果的呈现方式展示实验结果时,选择合适的呈现方式也是至关重要的。
常见的方式包括线图、柱状图、散点图、热图、地图等。
线图适用于展示随时间变化的趋势,柱状图适用于不同条件下的比较,散点图适用于相关性分析,热图适用于显示数据的密度分布,地图适用于空间分布的展示。
根据实验的目的和结果的特点,选择合适的呈现方式可以更好地传达实验的信息。
四、图像分析的方法图像分析是科学研究中必不可少的一环。
通过图像分析,可以获得实验结果的定量指标。
常见的图像分析方法包括边缘检测、形态学处理、区域提取等。
通过这些方法,可以计算图像中目标物体的大小、形状、数量等参数,为后续的数据分析和统计提供依据。
五、图像处理的注意事项在进行实验结果的图像处理时,需要注意以下几点。
首先,要保持原始数据的完整性和准确性,尽量避免图像处理过程中的误操作。
其次,要选择合适的图像处理方法,避免过度处理或错失重要信息。
此外,要保持图像处理的一致性,确保不同样本或不同条件下的图像处理结果可比性。
课程:数字图像处理课程作业实验报告实验名称:Morphological and Other Set Operations实验编号:签名:姓名:学号:截止提交日期:年月日摘要:本实验学习一些基本的形态学图像处理知识。
掌握数学形态学集合的基本运算;编程实现二值图像的膨胀和腐蚀处理,掌握一些基本的形态学算法,如:边界提取;针对灰度图像编程实现膨胀和腐蚀处理,编写函数实现灰度图像形态学梯度处理和顶帽变换,最后对形态学梯度变换结果和顶帽变换结果进行比较。
一、技术论述1、图像的逻辑运算及数学形态学很多应用是以形态学概念为基础的,并涉及二值图像。
数学形态学的语言是集合论。
同样,形态学为大量的图像处理问题提供了一种一致的有力方法。
数学形态学中的集合表示图像中的不同对象。
例如,在二值图像中,所有黑色像素的集合是图像完整的形态学描述。
在二值图像中,正被讨论的集合是二维整数空间 (P)的元素,在这个二维整数空间中,集合的每个元素都是一个多元组(二维向量),这些多元组的坐标是一个黑色(或白色,取决于事先的约定)像素在图像中的坐标(x,y)。
灰度级数字图像可以表示为Z空间(Z3)上分量的集合。
在这种情况下,集合中每个元素的两个分量是像素的坐标,第3个分量对应于像素的离散灰度级值。
更高维度空间中的集合可以包含图像的其他属性,比如颜色和随时间变化的分量。
集合运算尽管本质上很简单,但对于实现以形态学为基础的图像处理算法是一种有力的补充手段。
本实验中,我们关注的是涉及二值图像和灰度图像的逻辑运算。
在图像处理中用到的主要集合运算是:并、交、补、差、位移和镜像。
图1中总结了这些运算的性质。
图1 主要的集合运算在两幅或多幅图像的对应像素间逐像素进行逻辑运算。
因为只有在两个变量都是1时,两个二进制变量的“与”运算才为1,所以只有两幅输人图像的对应像素均为1时,“与”运算的结果才是1。
图2显示了涉及图像逻辑运算的不同例子。
这里,黑色表示1,而白色表示0(这里使用两种约定的说法,有时会颠倒黑色和白色二值的意义,取决于在给定情况下哪种表达更清楚。
一、实验目的本次实验旨在通过实际操作,加深对多媒体技术的理解,掌握多媒体的基本处理方法,包括图像处理、音频处理和视频处理等。
通过实验,培养学生动手能力、分析问题和解决问题的能力,以及团队合作精神。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 图像处理软件:OpenCV4. 音频处理软件:PyAudio5. 视频处理软件:FFmpeg三、实验内容1. 图像处理(1)图像读取与显示使用OpenCV库读取图像文件,并使用imshow函数显示图像。
(2)图像滤波对图像进行高斯滤波、均值滤波和锐化处理,观察滤波效果。
(3)图像边缘检测使用Canny算法对图像进行边缘检测,观察边缘效果。
(4)图像形态学操作对图像进行腐蚀、膨胀、开运算和闭运算等形态学操作,观察形态学效果。
2. 音频处理(1)音频播放与录制使用PyAudio库播放和录制音频文件。
(2)音频信号处理对音频信号进行低通滤波、高通滤波和带通滤波等处理,观察滤波效果。
(3)音频信号转换将音频信号从PCM格式转换为WAV格式,并观察转换效果。
3. 视频处理(1)视频读取与显示使用FFmpeg库读取视频文件,并使用imshow函数显示视频帧。
(2)视频帧提取从视频中提取连续帧,观察帧间差异。
(3)视频帧处理对视频帧进行灰度化、二值化、腐蚀、膨胀等处理,观察处理效果。
(4)视频编码与解码将视频编码为H.264格式,并解码为原始视频格式,观察编码和解码效果。
四、实验结果与分析1. 图像处理实验结果(1)读取并显示图像成功读取图像文件,并使用imshow函数显示图像。
(2)图像滤波通过高斯滤波、均值滤波和锐化处理,图像质量得到改善。
(3)图像边缘检测使用Canny算法对图像进行边缘检测,成功提取图像边缘。
(4)图像形态学操作通过腐蚀、膨胀、开运算和闭运算等形态学操作,成功实现图像形态学变换。
2. 音频处理实验结果(1)音频播放与录制成功播放和录制音频文件。
实验5 图像形态学处理一.实验目的1. 加深对二值图像的理解;2. 掌握简单的二值图像形态学处理的原理与方法;3. 通过本实验掌握利用VC++编程实现形态学的方法,提高学生图像处理能力和实际动手能力。
二.实验原理形态学运算是结构元素与图像进行逻辑运算,产生新的图像的图像处理方法。
二值图像B 和结构元素S 是定义在笛卡儿网格上的集合,网格中值为1的点是集合的元素。
当结构元素的原点移到点(x,y)时,记为Sxy ,为简单起见,结构元素为3x3,且全都为1,在这种限制下,决定输出结果的是逻辑运算1. 腐蚀定义:}|,{B s y x S B E xy ⊆=⊗=算法:a) 用3x3的结构元素,扫描图像的每一个像素。
b) 用结构元素与其覆盖的二值图像做“与”操作。
c) 如果都为1,结果图像的该像素为1,否则为0。
2. 膨胀定义:}|,{Φ≠⋂=⊕=B s y x S B E xy算法:a) 用3x3的结构元素,扫描图像的每一个像素。
b) 用结构元素与其覆盖的二值图像做“与”操作。
c) 如果都为0,结果图像的该像素为0,否则为1。
3. 开运算定义:S S B S B E ⊕⊗==)( ,即先腐蚀,再膨胀。
算法:a) 用3x3的结构元素,对图像做腐蚀操作。
b) 再用3x3的结构元素,对图像做膨胀操作。
4. 闭运算定义:S S B S B E ⊗⊕=∙=)(,即先膨胀,再腐蚀。
算法:a) 用3x3的结构元素,对图像做膨胀操作。
b) 再用3x3的结构元素,对图像做腐蚀操作。
四.实验步骤形态学处理程序框架如下:五.实验仪器1.计算机;2.VC++程序;3.移动式存储器(软盘、U盘等)。
4.记录用的笔、纸。
六.实验报告内容1..叙述实验过程;2.提交实验的原始图像和结果图像。
七.思考题1.比较开运算与闭运算的效果,说明两种方法各适合何种应用。
2.分析中轴骨架算法基本操作的条件,说明各条件是对什么类型的点进行处理。
数字图像处理实验指导书目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割实验五形态学运算3实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
图像处理实验报告第一次实验课:绘制直方图f=imread('bld.tif');imshow(f)imhist(f)原图像:直方图:第二次实验课:图像增强f=imread('hua.jpg');imshow(f)g=gscale(f);figure,imshow(g)原图像:处理后的图像:第三次实验课:图像平滑f=imread('noisy.jpg');imshow(f)f1=imnoise(f,'salt & pepper',0.1);figure,imshow(f1)f2=medfilt2(f1);figure,imshow(f2)imwrite(f2,'w.tif')原图像:加噪声后的图像:平滑后的图像:第四次实验课:图像分割f=imread('bld.tif');imshow(f)[gc,t]=edge(f,'canny');figure,imshow(gc)tt =0.0188 0.0469[gc,t]=edge(f,'canny',[0.04 0.10]); figure,imshow(gc)[gc,t]=edge(f,'canny',[0.04 0.10],1.5); figure,imshow(gc)原图像:线检测后得到如下图像:第五次实验课:彩色图像处理f=imread('iris.tif');imshow(b)fr=f(:,:,1);fg=f(:,:,2);fb=f(:,:,3);w=fspecial('disk',3.5);fr_f=imfilter(fr,w,'replicate');fg_f=imfilter(fg,w,'replicate');fb_f=imfilter(fb,w,'replicate');f1=cat(3,fr_f,fg_f,fb_f);原图像:处理后图片为:第六次实验课:形态学处理f=imread('calculator.tif');imshow(f)se=strel('line',55,0);f0=imopen(f,se);f1=imsubtract(f,f0);figure,imshow(f1)原图像:处理后图像:第七次实验课:频域处理f=imread('periodic.jpg');[m,n]=size(f)sig=30;h=lpfilter('gaussian',m,n,sig);F=fft2(double(f));G=h.*F;figure,imshow(abs(G),[])x=real(ifft2(G));figure,imshow(x,[])原图像:处理后图像:f=imread('noise.jpg'); imshow(f)g=fft2(f);s=abs(g);figure,imshow(double(s))figure,imshow(double(s),[])h=fftshift(g);figure,imshow(double(abs(g)),[]) figure,imshow(double(abs(h)),[]) ss=log(1+s);figure,imshow(double(ss),[])原图像:处理后图像:。
形态分析实验报告1. 引言形态学是图像处理中的重要领域,主要研究图像中的形状和结构特征。
形态分析是一种用于提取和描述图像中物体形状的方法。
通过形态学操作,我们可以对图像进行腐蚀、膨胀、开运算、闭运算等处理,从而得到有关物体形态的信息。
本实验旨在利用形态学操作对图像进行处理,并对处理结果进行分析和评估。
2. 实验步骤2.1 图像获取首先,我们需要选择合适的图像进行实验。
在本实验中,我们选择了一张包含多个不同形状物体的彩色图像作为输入。
这张图像包含了圆形、方形、三角形等多种形状,能够充分展示形态学操作的效果。
2.2 图像预处理在进行形态学操作之前,我们需要对图像进行预处理。
预处理包括灰度化、二值化等操作,以便于后续形态学操作的进行。
在本实验中,我们将图像转换为灰度图像,并进行二值化处理,将物体前景与背景分离。
2.3 形态学操作本实验中,我们主要使用了腐蚀和膨胀两种形态学操作。
腐蚀操作可以用于缩小物体,消除物体的突出部分,而膨胀操作则可以用于扩大物体,填充物体的空洞。
通过多次迭代腐蚀和膨胀操作,我们可以改变图像中物体的形态。
2.4 实验结果分析在进行形态学操作之后,我们观察和分析了实验结果。
我们可以通过比较原始图像和处理后图像的差异,来评估形态学操作对图像的影响。
3. 实验结果与讨论在本实验中,我们首先将选择的彩色图像转换为灰度图像,并进行了二值化处理。
接下来,我们分别进行了腐蚀和膨胀操作,观察了不同操作次数下的效果。
实验结果显示,在进行腐蚀操作后,图像中的物体逐渐缩小,物体的边缘变得更加锐利。
当腐蚀操作次数增加时,物体的形状变得越来越不规则。
相反,进行膨胀操作后,图像中的物体逐渐扩大,物体的边缘变得更加模糊。
当膨胀操作次数增加时,物体的形状变得越来越圆滑。
通过对实验结果的分析,我们可以得出以下结论: - 腐蚀操作可以用于物体的缩小和边缘增强; - 膨胀操作可以用于物体的扩大和边缘模糊。
4. 结论本实验通过形态学操作对图像进行了处理,并对处理结果进行了分析和评估。
实验五 图像形态学处理
一、实验目的:
1、进一步了解MATLAB 关于图像处理的相关指令。
2、了解图像腐蚀、膨胀、开启、闭合及细化的目的及意义,加深对其的感性认识,巩固所学理论知识。
3、能够编程实现图像的各种形态学处理。
4、观察并比较图像处理结果。
二、实验内容:
图像腐蚀、图像膨胀、开启、闭合、细化
三、实验仪器
PC 一台,MATLAB 软件。
四、实验报告要求:
1、写出程序
2、附上处理前后的图像
3、写出对处理前后图像的分析(即:说明图像的变化)
有关结构元素说明:
se1 = strel('square',11) % 结构元素为边长11的正方形
se2 = strel('line',10,45) % 倾角为45度长为10的线性结构
se3 = strel('disk',15) % 半径为15的圆盘
se4 = strel('ball',15,5) %半径为15高为5的球形结构
一、图像的膨胀运算(在右图中任选一幅图像处理)
函数说明:
se=strel('ball',8,8); %设定直径为8的球形结构元素
I2=imdilate(I,se); %膨胀函数,I :原图像,se :结构元素,I2:输出图像
%膨胀程序
I=imread('yuan.bmp ');
subplot(121);imshow(I); title('原图像');
se=strel('ball',8,8);
I2=imdilate(I,se);
subplot(122);imshow(I2); title('膨胀后图像');
二、任选题(1)中一幅图像根据膨胀程序编写腐蚀程序,实现腐蚀处
理,保存处理前后图像(图像要标明'title'),并分析处理结果。
kong.bmp yuan.bmp
函数:
se=strel('ball',8,8); %设定球形结构元素
I2=imerode(I,se); %腐蚀函数
三、编写程序对gujia.bmp 图像实现开启闭合处理,保存处理前后图像(图像要标明'title'),并分析处理结果。
%开启闭合
函数说明:
se=strel('disk',5,4); %生成圆形结构元素
I1=imopen(I,se); %开启操作I :原图像,se :结构元素,I1:输出图像
I2=imclose(I,se); %闭合操作
四、对“Hello Word ” 图像进行一次或多次细化,观察效果,并细化到一个元素
函数说明:
I1=bwmorph(I,'thin',n); % I 为输入的二值图像,'thin':进行的操作,此处为细化,n :执行操作的次数,I1:输出图像
% 细化
I=imread(' Hello World .bmp');
I=I(:,:,1);
subplot(221);imshow(I); title('原图像');
I1=bwmorph(I,'thin',1); %细化1次,'thin'为细化处理,将thin 改为skel 可以提取骨架 subplot(222);imshow(I1); title('细化1次的结果');
I2=bwmorph(I,'thin',inf); %细化到目标只有一个元素
subplot(223);imshow(I2); title('细化到只有一个元素');
gujia.bmp Hello World.bmp。