您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 医学现状与发展 > 数字图像处理实验研究报告(完整版本)
1/12数字图像处理实验一MATLAB数字图像处理初步一、显示图像1.利用imread()函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:I=imread('lily.tif')whosIimshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q),q取0-100。矚慫润厲钐瘗睞枥庑赖。6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。聞創沟燴鐺險爱氇谴净。7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。残骛楼諍锩瀨濟溆塹籟。2/12其中9的实验结果如下图:源代码:4~6(接上面两个)I=imread('lily.tif')imfinfo'lily.tif';imwrite(I,'lily.jpg','quality',20);imwrite(I,'lily.bmp');7~9I=imread('Sunset.jpg');J=imread('Winter.jpg')imfinfo'Sunset.jpg'imfinfo'Winter.jpg'figure(1),imshow('Sunset.jpg')figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图:源代码:I=imread('lily.tif')gg=im2bw(I,0.4);3/12Figure,imshow(gg)原始图像:四、思考题(1)简述MatLab软件的特点。答:①高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;酽锕极額閉镇桧猪訣锥。②具有完备的图形处理功能,实现计算结果和编程的可视化;③友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;④功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。彈贸摄尔霁毙攬砖卤庑。(2)MatLab软件可以支持哪些图像文件格式?JPEG、JPEG、PCX、TIFF、PNG、GIF、HDF、XWD等等。(3)说明函数imread的用途格式以及各种格式所得到图像的性质。imread函数用于读入各种图像文件,其一般的用法为[X,MAP]=imread(‘filename’,‘fmt’)其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename为读取的图像文件(可以加上文件的路径)。謀荞抟箧飆鐸怼类蒋薔。(4)为什么用I=imread(‘lena.bmp’)命令得到的图像I不可以进行算术运算?Matlab系统默认的算术运算时针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号8位,直接进行运算会溢出。厦礴恳蹒骈時盡继價骚。实验二图像的代数运算一.图像的加法运算在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下:茕桢广鳓鯡选块网羈泪。Z=imadd(X,Y)其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。实验结果如下图:4/12源代码:I=imread(‘Sunset.jpg’);J=imread(‘Bluehills.jpg’);K=imadd(I,J);imshow(K);(两幅图尺寸大小一致)原始图像:给图像的每一个像素加上一个常数可以使图像的亮度增加。效果如下:源代码5/12RGB=imread(‘cameraman.tif’);RGB2=imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB2);二、图像的减法运算在MATLAB中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。imsubtract函数的调用格式如下:鹅娅尽損鹌惨歷茏鴛賴。Z=imsubtract(X,Y);其中,Z是X-Y操作的结果。实验结果如下图:源代码rice=imread('cameraman.tif')background=imopen(rice,strel('disk',15))rice2=imsubtract(rice,background)subplot(1,2,1);imshow(rice);subplot(1,2,2);imshow(rice2);三、图像的乘法运算在MATLAB中,使用immultiply函数实现两幅图像的乘法。immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB点乘),并将乘法的运算结果作为输出图形相应的像素值。immulitply函数的调用格式如下:籟丛妈羥为贍偾蛏练淨。Z=immulitply(X,Y)其中,Z=X*Y。实验结果如下图:6/12源代码I=imread('zhaowei.bmp')J=immultiply(I,1.2)subplot(1,2,1);imshow(I)subplot(1,2,2);imshow(J)四、图像的除法运算在MATLAB中使用imdivide函数进行两幅图像的除法。imdivide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。imdivide函数的调用格式如下:預頌圣鉉儐歲龈讶骅籴。Z=imdivide(X,Y)其中,Z=X/Y。实验结果如下图:源代码Rice=imread('cameraman.tif');I=double(Rice);J=I*0.43+90Rice2=uint8(J)Ip=imdivide(Rice,Rice2)Imshow(Ip,[])7/12原图像五、思考题由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?答:使用背景减法进行运动目标检测可以提取出完整的目标图像.可将所得标用于进一步的图像处理工作中。除去人身体在环境中运动产生的动态区域外.背景减法对其它的动态场景的变化、干扰等特别敏感背景图像获取的理想情况是在场景没有运动因素,最简单背景获取方法是当场景中任何目标时采集一幅图像作为背景图像,但这种固定背景图像的方法.只适合应于外界条件较好的场。渗釤呛俨匀谔鱉调硯錦。实验三图像增强—空域滤波一、实验内容与步骤a)调入并显示原始图像Sample2-1.jpg。b)利用imnoise命令在图像Sample2-1.jpg上加入高斯(gaussian)噪声c)利用预定义函数fspecial命令产生平均(average)滤波器d)分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;铙誅卧泻噦圣骋贶頂廡。e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。f)利用imnoise命令在图像Sample2-1.jpg上加入椒盐噪声(salt&pepper)擁締凤袜备訊顎轮烂蔷。8/12g)重复c)~e)的步骤h)输出全部结果并进行讨论。二、实验结果与源代码源代码I=imread('cameraman.tif');J=imnoise(I,'gauss',0.02);J=imnoise(I,'salt&pepper',0.02);ave1=fspecial('average',3);ave2=fspecial('average',5);K=filter2(ave1,J)/255;L=filter2(ave2,J)/255;M=medfilt2(J,[33]);N=medfilt2(J,[44]);imshow(I);figure,imshow(J);figure,imshow(K);figure,imshow(L);figure,imshow(M);figure,imshow(N);三、思考题/问答题(1)简述高斯噪声和椒盐噪声的特点。高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。而椒盐噪声是指椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。贓熱俣阃歲匱阊9/12邺镓騷。(2)结合实验内容,定性评价平均滤波器/中值滤波器对高斯噪声和椒盐噪声的去噪效果?通过实验可以看出,中值滤波对椒盐噪声的消噪处理效果比较好,但是对高斯噪声的消噪处理效果不是很理想(3)结合实验内容,定性评价滤波窗口对去噪效果的影响?对比实验结果可以发现:发现对于椒盐噪声,中值滤波效果更好。对于高斯噪声,选用5*5窗口滤波效果好于3*3窗口滤波,但图像模糊程度加重了。坛摶乡囂忏蒌鍥铃氈淚。实验四图像分割一、实验内容与步骤(1)使用Roberts算子的图像分割实验��调入并显示图像room.tif中图像;使用Roberts算子对图像进行边缘检测处理;Roberts算子为一对模板:蜡變黲癟報伥铉锚鈰赘。��相应的矩阵为:rh=[01;-10];rv=[10;0-1];这里的rh为水平Roberts算子,rv为垂直Roberts算子。分别显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果;買鲷鴯譖昙膚遙闫撷凄。(2)使用Prewitt算子的图像分割实验��使用Prewitt算子进行内容(1)中的全部步骤。(3)使用Sobel算子的图像分割实验使用Sobel算子进行内容(1)中的全部步骤。(4)使用LoG(拉普拉斯-高斯)算子的图像分割实验使用LoG(拉普拉斯-高斯)算子进行内容(1)中的全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。提示2:注意调节噪声的强度以及LoG(拉普拉斯-高斯)算子的参数,观察处理结果。綾镝鯛駕櫬鹕踪韦辚糴。二、实验结果与源程序实验结果如下图:10/12源程序f=imread('cameraman.tif');[gv,t1]=edge(f,'sobel','vertical');imshow(gv)[gb,t2]=edge(f,'sobel','horizontal');figure,imshow(gb)w45=[-2-10;-101;012];g45=imfilter(double(f),w45,'replicate');T=0.3*max(abs(g45(:)));g45=g45=T;figure,imshow(g45);三、思考题/问答题1、评价一下Roberts算子、Prewitt算子、Sobel算子对于噪声条件下
本文标题:数字图像处理实验研究报告(完整版本)
链接地址:https://www.777doc.com/doc-5818214 .html