数字图像处理实验报告-线性灰度变换-图像几何变换-频域图像增强技术-图像分割_第1页
数字图像处理实验报告-线性灰度变换-图像几何变换-频域图像增强技术-图像分割_第2页
数字图像处理实验报告-线性灰度变换-图像几何变换-频域图像增强技术-图像分割_第3页
数字图像处理实验报告-线性灰度变换-图像几何变换-频域图像增强技术-图像分割_第4页
数字图像处理实验报告-线性灰度变换-图像几何变换-频域图像增强技术-图像分割_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、线性灰度变换一、 实验目的1结合实例学习如何在视频显示程序中增加图像处理算法;2理解和掌握图像的线性变换和直方图均衡化的原理和应用;3了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;4 了解噪声模型及对图像添加噪声的基本方法。二、 实验原理1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。按照图像概率密度函数PDF的定义:通过转换公式获得:3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。将模板中的全体像

2、素的均值(中值)来代替原来像素值的方法。4 拉普拉斯算子如下: 拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。三、 实验步骤1 启动MATLAB程序,对图像文件分别进行灰度线性变换(参考教材57页,例4.1)、直方图均衡化(参考教材64页,例4.6)、均值滤波(参考教材69页,例4.9)、中值滤波(参考教材73页,例4.11)和梯度锐化操作(参考教材76页,例4.12)。添加噪声,重复上述过程观察处理结果。2记录和整理实验报告:对图像文件进行灰度线性变换(1)对图像pout.tif,将其小于30的灰度值不变,将30到150的灰度值拉

3、伸到30到200,同时压缩150到255的灰度值到200到255之间。I=imread(pout.tif); imshow(I); I=double(I);M,N=size(I);for i=1:M for j=1:N if I(i,j)=30 I(i,j)=I(i,j); elseif I(i,j)=150 I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30; else I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200; end end endfigure(2);imshow(uint8(I (2)对图像pout.tif添加高

4、斯噪声后进行灰度值线性变换J=imread(pout.tif);I=imnoise(J,gaussian,0,0.01);imshow(I);I=double(I);M,N=size(I);for i=1:M for j=1:N if I(i,j)=30 I(i,j)=I(i,j); elseif I(i,j)=150 I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30; else I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200; end end endfigure(2);imshow(uint8(I); 对图像文件进行直方图

5、均衡化:(1)原图I=imread(circuit.tif);figuresubplot(221);imshow(I)subplot(222);imhist(I)I1=histeq(I);figuresubplot(221);imshow(I1)subplot(222);imhist(I1)(2)加入高斯噪声J=imread(circuit.tif);I=imnoise(J,gaussian,0,0.01);figuresubplot(221);imshow(I)subplot(222);imhist(I)I1=histeq(I);figuresubplot(221);imshow(I1)su

6、bplot(222);imhist(I1)均值滤波(1)原图I=imread(tire.tif);M,N=size(I);II1=zeros(M,N);for i=1:16 II(:,:,i)=imnoise(I,gaussian,0,0.01); II1=II1+double(II(:,:,i); if or(or(i=1,i=4),or(i=8,i=16); figure; imshow(uint8(II1/i); endend (2)加高斯噪声J=imread(tire.tif);I=imnoise(J,gaussian,0,0.01);M,N=size(I);II1=zeros(M,N

7、);for i=1:16 II(:,:,i)=imnoise(I,gaussian,0,0.01); II1=II1+double(II(:,:,i); if or(or(i=1,i=4),or(i=8,i=16); figure; imshow(uint8(II1/i); endend 4.中值滤波:源程序和结果:I=imread(hua.jpg);J=imnoise(I,salt & pepper,0.02);subplot(231),imshow(I);title(原始图像);subplot(232),imshow(J);title(添加椒盐噪声图像)k1=medfilt2(J);k2=

8、medfilt2(J,5,5);k3=medfilt2(J,7,7);k4=medfilt2(J,9,9);subplot(233),imshow(k1);title(3x3模板中值滤波)subplot(234),imshow(k2);title(5x5模板中值滤波)subplot(235),imshow(k3);title(7x7模板中值滤波)ubplot(236),imshow(k4);title(9x9模板中值滤波) ) s梯度锐化操作:(1)原图I=imread(cameraman.tif);subplot(131),imshow(I)H=fspecial(Sobel);H=H;TH=

9、filter2(H,I);subplot(132),imshow(TH,);H=H;TH=filter2(H,I);subplot(133),imshow(TH,)(2)加入高斯噪声J=imread(cameraman.tif);I=imnoise(J,gaussian,0,0.01)subplot(131),imshow(I)H=fspecial(Sobel);H=H;TH=filter2(H,I);subplot(132),imshow(TH,);H=H;TH=filter2(H,I);subplot(133),imshow(TH,)四、 思考题1 设定不同的斜率值和截距,显示效果会怎样?

10、不同的斜率和截距会对图像的不同部分进行增强或减弱,将会改变图像的对比度。2直方图均衡化是什么意思?它的主要用途是什么? 直方图均衡化就是经过一个点变换使不均匀的直方图变为均衡分布的直方图,增加图像的灰度范围和 增强图像对比度 3. 均值(中值)滤波的模板大小对处理效果有什么影响?中值滤波所选的模版越大其滤波效果(去除噪声)越好,但是原始图像中的有效部也跟着被滤波,但其边缘不会模糊,即在滤波的同时保持了图像的细节清晰。图像几何变换一、 实验目的1结合实例学习如何在视频显示程序中增加图像处理算法;2理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;二、 实验原理1 初始坐标

11、为(, )的点经过平移(,),坐标变为(,),两点之间的关系为:,以矩阵形式表示为:2 图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为: 3 图像缩小和放大变换矩阵相同: 当时,图像缩小;时,图像放大。4 图像旋转定义为以图像中某一点为原点以逆时针或顺时针方向旋转一定角度。其变换矩阵为:该变换矩阵是绕坐标轴原点进行的,如果是绕一个指定点()旋转,则现要将坐标系平移到该点,进行旋转,然后再平移回到新的坐标原点。三、 实验步骤1 启动MATLAB程序,对图像文件分别进行生成、失真和校正;(参考教材115页,例5.8,例5.9)2 记

12、录和整理实验报告1. affine变换f=checkerboard(24);figure(1);imshow(f);s=0.7;theta=pi/6;T=s*cos(theta) s*sin(theta) 0 -s*sin(theta) s*cos(theta) 0 0 0 1;tform=maketform(affine,T);g1=imtransform(f,tform,nearest);figure(2);imshow(g1);g2=imtransform(f,tform);figure(3);imshow(g2);g3=imtransform(f,tform,FillValue,0.5

13、);figure(4);imshow(g3); 2.失真校正:f = checkerboard(24);figure(1);imshow(f);s=0.7;theta=pi/6;t= s*cos(theta) s*sin(theta) 0 -s*sin(theta) s*cos(theta) 0 0 0 1;tform=maketform(affine,t);g1=imtransform(f,tform,nearest);figure(2);imshow(g1);cpselect(g1,f);tform=cp2tform(input_points,base_points,projective)

14、;gp=imtransform(g1,tform,XData,1 256,YData,1 256);figure(3);imshow(gp);校正后图像:频域图像增强技术一、 实验目的1了解图像变换的意义和手段;2熟悉傅里叶变换的基本性质;3热练掌握FFT方法及应用;4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换及滤波锐化和复原处理;6 了解理想、巴特沃兹、高斯等不同滤波器的结构及滤波效果。二、 实验原理1应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点

15、等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。2傅立叶(Fourier)变换的定义对于二维信号,二维Fourier变换定义为: 二维离散傅立叶变换为: 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。3利用MATLAB软件实现数字图像傅立叶变换的程序:(38页)I=imread(原图像名.gif); %读入原图像文件imshow(I); %显示原图像ff

16、tI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.2+II.2);%计算频谱幅值A=(A-min(min(A))/(max(max(A)-min(min(A)*225; %归一化figure; %设定窗口imshow(A); %显示原图像的频谱三、 实验步骤1打开计算机,安装和启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;2利用MatLab工具箱中的函数编制FFT频谱显示的函数;3 a)

17、.调入、显示“实验一”获得的图像;图像存储格式应为“.gif”; b)对这三幅图像做FFT并利用自编的函数显示其频谱;c)讨论不同的图像内容与FFT频谱之间的对应关系。 4 对频谱分别进行巴特沃兹和理想低通滤波,比较效果(参考教材82页,例4.13,例4.14)5 记录和整理实验报告J=imread(rice.jpg);subplot(131);imshow(J);title(原始图像)J=double(J);f=fft2(J);g=fftshift(f);subplot(132);imshow(log(abs(g),),color(jet(64);title(傅里叶频谱)M,N=size(f

18、);n1=floor(M/2);n2=floor(N/2);% d0=5,15,45,65d0=5;for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2); if d=d0 h=1; else h=0; end g(i,j)=h*g(i,j); end end g=ifftshift(g); g=uint8(real(ifft2(g); subplot(133); imshow(g);title(经理想低通滤波后的图像) I=imread(rice.tif); J=imnoise(I,salt & pepper,0.02); subplot(121);imshow

19、(J); title(含有椒盐噪声的图像) J=double(J);f=fft2(J); g=fftshift(f); M,N=size(f); n=3; d0=20 n1=floor(M/2) n2=floor(N/2) for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2) h=1/(1+(d/d0)(2*n); g(i,j)=h*g(i,j); end end g=ifftshift(g); g=uint8(real(ifft2(g); subplot(122); imshow(g);title(经巴特沃斯低通滤波后的图像)图像分割一、 实验目的理解和掌握图

20、像分割的基本理论和算法,练习使用形态学、区域、边界和阀值的方法结合图像增强复原的相关知识点对图像进行分割处理;二、 实验原理1 膨胀和腐蚀是二值形态学的基本操作,其中膨胀是是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理;而腐蚀则是一种消除连通域的边界点,使边界向内收缩的处理。贴标签是对不同连通域区分和标记的基本算法。两者数学表达如下:膨胀:腐蚀:2图象分割是按照某些特性(如灰度级,频谱,颜色,纹理等)将图象划分成一些区域,在这些区域内其特性是相同的或者说是均匀的,两个相邻区域彼此特性则是不同的,其间存在着边缘或边界。按照使用图像的特点可以分为两类:利用区域间灰度不连续性基

21、于边界检测利用区域内灰度的相似性基于区域分割三、 实验步骤1打开计算机,安装和启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;2对于血细胞图像 a).对图像进行去噪、增强处理; b)运用全局阀值进行二值化(参考教材244页,例9.7, 例9.8, 例9.9);c)用膨胀腐蚀等形态学方法将血细胞分成不同的连通域(参考教材284页,例10.9, 例10.10),并使用贴标签的方式对连通域进行统计和标记。3 记录和整理实验报告。4 实验内容运用全局阀值进行二值化f=imread(rice.jpg);subplot(1,2,1)imshow(f);title(原始图像);f=d

22、ouble(f);T=(min(f(:)+max(f(:)/2;done=false;i=0whiledone r1=find(fT); Tnew=(mean(f(r1)+mean(f(r2)/2; done=abs(Tnew-T)1 T=Tnew; i=i+1;endf(r1)=0;f(r2)=1;subplot(1,2,2)imshow(f);title(迭代阀值二值化图像);f=imread(pout.tif);subplot(2,2,1)imshow(f);title(原始图像);T=graythresh(f);g=im2bw(f,T);subplot(2,2,2);imshow(g);title(Otsu方法二值化图像);f=imread(o.gif);subplot(2,2,1)imshow(f);title(a)原始图像);subplot(2,2,2);f=double(f);hv=fspecial(prewitt);hh=hv.;gv=abs(imfilter(f,hv,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论