ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:303.23KB ,
资源ID:3494983      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3494983.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字图像处理实验指导书1.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字图像处理实验指导书1.docx

1、数字图像处理实验指导书1数字图像处理实验指导书自动化工程学院2010年11月试行实验一、数字图像获取 1均值滤波 1均值滤波的概念及用法 2 均值滤波的MATLAB程序 2、中值滤波 1中值滤波的概念及用法 2中值滤波的MATLAB程序 3、图像增强 1.直方图修改处理图像的概念及方法 2.直方图均衡化增强图像对比度的MATLAB程序: 实验二、图像分割 实验一 图像的运算实验1.1 直方图一实验目的1熟悉matlab图像处理工具箱及直方图函数的使用;2理解和掌握直方图原理和方法;二实验设备1.PC机一台;2.软件matlab。三程序设计在matlab环境中,程序首先读取图像,然后调用直方图函

2、数,设置相关参数,再输出处理后的图像。I=imread(cameraman.tif);%读取图像subplot(1,2,1),imshow(I) %输出图像title(原始图像) %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title(原始图像直方图) %在原图直方图上加标题四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3浏览源程序并理解

3、含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图六实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。实验1.2 灰度均衡一实验目的1熟悉matlab图像处理工具箱中灰度均衡函数的使用;2理解和掌握灰度均衡原理和实现方法;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。I=imread(cameraman.tif);%读取图像subplot

4、(2,2,1),imshow(I) %输出图像title(原始图像) %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title(原始图像直方图) %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title(均衡化后图像) %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title(均衡化后图像直方图) %在均衡化后直方图上加标题四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;

5、2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像;3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像 (c)原始图像直方图 (d)均衡化后图像直方图六实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度均衡结果,并进行灰度均衡化前后图像直方图分布对比分析。实验1.3 3*3均值滤波一实验目的1熟悉matlab图像处理工具箱及

6、均值滤波函数的使用;2理解和掌握3*3均值滤波的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计 在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif);figure,imshow(I);J=filter2(fspecial(average,3),I)/255;figure,imshow(J);四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像

7、,如:cameraman图像;再调用相应的图像增强(均值滤波)函数,设置参数;最后输出处理后的图像;3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下原始图像经3*3均值滤波处理后的结果。 (a)原始图像 (b)3*3均值滤波处理后的图像图(3)六实验报告要求输入一幅灰度图像,给出其图像经3*3均值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行均值滤波,看看对25个点取均值与对9个点取中值进行均值滤波有什么区别?有没有其他的算法可以改进滤波效果。实验1.4 3*3中值滤波一实验目的1熟悉matlab图像处理工具箱及

8、中值滤波函数的使用;2理解和掌握中值滤波的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像增强(中值滤波)函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif);figure,imshow(I);J=medfilt2(I,5,5);figure,imshow(J);四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像

9、增强(中值滤波)函数,设置参数;最后输出处理后的图像;3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下原始图像经3*3中值滤波处理后的结果。 (a)原始图像 (b)3*3中值滤波处理后的图像图(4)六实验报告要求输入一幅灰度图像,给出其图像经3*3中值滤波处理后的结果,然后对每一点的灰度值和它周围24个点,一共25个点的灰度值进行排序后取中值,然后该点的灰度值取中值。看看对25个点取中值与对9个点取中值进行中值滤波有什么区别?实验1.5 图像的缩放一实验目的1熟悉matlab图像处理工具箱及图像缩放函数的使用;2掌握图像缩放的方法和应用;二实验设

10、备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif);figure,imshow(I);scale = 0.5;J = imresize(I,scale);figure,imshow(J);四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像缩放函数,设置参数;最后输出处理后的图像;

11、3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下图像缩放后的结果。 (a)原始图像 (b)缩放后的图像图(5)六实验报告要求 输入一幅灰度图像,给出其图像缩放后的结果,然后改变缩放比率,观察图像缩放后结果柄进行分析。实验1.6 图像旋转一实验目的1熟悉matlab图像处理工具箱及图像旋转函数的使用;2理解和掌握图像旋转的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像旋转函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif);figure

12、,imshow(I);theta = 30;K = imrotate(I,theta); % Try varying the angle, theta.figure, imshow(K)四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的图像旋转函数,设置参数;最后输出处理后的图像;3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察matlab环境下图像旋转后的结果。 (a)原始图像 (b)旋转后的图

13、像图(7)六实验报告要求输入一幅灰度图像,给出其图像旋转后的结果,然后改变旋转角度,观察图像旋转后结果柄进行分析。实验1.7 边缘检测(Sobel、Prewitt、Log边缘算子)一实验目的1熟悉matlab图像处理工具箱及图像边缘检测函数的使用;2理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;二实验设备1.PC机一台;2.软件matlab;三程序设计在matlab环境中,程序首先读取图像,然后调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。I = imread(cameraman.tif);J1=edg

14、e(I,sobel);J2=edge(I,prewitt);J3=edge(I,log);subplot(1,4,1),imshow(I);subplot(1,4,2),imshow(J1);subplot(1,4,3),imshow(J2);subplot(1,4,4),imshow(J3);四实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的边缘检测(Sobel边缘算子、Prewitt边缘算子、Log边缘算子)函数,设置参数

15、;最后输出处理后的图像;3浏览源程序并理解含义;4运行,观察显示结果;5结束运行,退出;五实验结果观察经过图像边缘检测(Sobel、Prewitt、Log边缘算子)处理后的结果。 (a)原始图像 (b)Sobel边缘算子 (c)Prewitt边缘算子 (d)Log边缘算子图(7)六实验报告要求输入一幅灰度图像,给出其图像边缘检测(Sobel、Prewitt、Log边缘算子)后的结果并进行分析对比。%对图像进行一些简单的几何处理clc;clearI=imread(cameraman.tif);invI=imcomplement(I);%求I的补K=uint8(filter2(fspecial(g

16、aussian),I);%对图像进行高斯滤波m,n=size(I);%获取图像的长宽i=1:m;j=1:n;M=zeros(m,n);M(i,j)=I(i,j)+20;%给图像所有像素加上一个值Z=I-K;%求出经过高斯滤波和源图像的差值I1=I*1.3;%做源图像和常数相乘I2=I./invI;%做源图像和其不图像相除J1=imresize(I,0.2);%将图像变为原来的0.2倍J2=imresize(I,2.5);%将图像变为原先的2.5倍figure(1);subplot(3,3,1);imshow(I,0 255);title(原始图像)subplot(3,3,2);imshow(i

17、nvI,0 255);title(图像求逆)subplot(3,3,3);imshow(K,0 255);title(图像滤波)subplot(3,3,4);imshow(M,0 255);title(图像加法)subplot(3,3,5);imshow(Z,0 255);title(图像减法)subplot(3,3,6);imshow(I1,0 255);title(图像乘法)subplot(3,3,7);imshow(I2,0 255);title(图像除法)subplot(3,3,8);imshow(J1,0 255);title(图像缩小)subplot(3,3,9);imshow(J

18、2,0 255);title(图像放大)%图像直方图均衡及其处理B=imread(pout.tif);B1=histeq(B);%做直方图均衡化figure(2);subplot(2,2,1);imshow(B);title(原始图像)subplot(2,2,2);imshow(B1);title(均衡化后)subplot(2,2,3);imhist(B);title(原始图像的直方图)subplot(2,2,4);imhist(B1);title(均衡化后图像的直方图)%图像滤波,平滑,边缘提取,增强C=imread(cameraman.tif);F1=1 1 1;1 1 1;1 1 1/9

19、;%3*3均值滤波F2= 1 2 1; 0 0 0; -1 -2 -1;%求边缘F3=-1 -1 -1;-1 9 -1;-1 -1 -1;%高通滤波C1=filter2(F1,C);%应用3*3均值滤波器C2=filter2(F2,C);C3=filter2(F3,C);figure(3);subplot(2,2,1);imshow(C,0 255);title(原图)subplot(2,2,2);imshow(C1,0 255);title(平滑滤波)subplot(2,2,3);imshow(C2,0 255);title(边缘提取)subplot(2,2,4);imshow(C3,0 2

20、55);title(图像增强)%图像添加噪声并且滤除D=imread(eight.tif);D1=imnoise(D,gaussian,0,0.01);%给图像添加噪声D2=medfilt2(D1);%中值滤波figure(4);subplot(1,3,1);imshow(D,0 255);title(原图);subplot(1,3,2);imshow(D1,0 255);title(加入椒盐噪声)subplot(1,3,3);imshow(D2,0 255);title(中值滤波后)%8*8矩阵做DCT反变换clc,clear;M=zeros(8,8);%产生一个8*8的全0矩阵M(1,1)

21、=1;%让其(0,0)点的系数为1N1=idct2(M);%对M做IDCT变换N1=uint8(N1);%转换为0-255的整数M(1,1)=0;M(1,2)=1;N2=idct2(M);%对M做IDCT变换N2=uint8(N2);M(1,2)=0;M(2,1)=1;N3=idct2(M);%对M做IDCT变换N3=uint8(N3);M(2,1)=0;M(5,5)=1;N4=idct2(M);%对M做IDCT变换N4=uint8(N4);figure(1);subplot(2,2,1),imshow(N1);title(0,0点的值为1做dct反变换)subplot(2,2,2),imsh

22、ow(N2);title(1,2点的值为1做dct反变换)subplot(2,2,3),imshow(N3);title(2,1点的值为1做dct反变换)subplot(2,2,4),imshow(N4);title(5,5点的值为1做dct反变换)%将dct系数矩阵修改为下面这个矩阵进行变换N=zeros(8,8);N(1,1)=1000,N(1,2)=300,N(2,1)=10,N(2,2)=20;K1=idct2(N);N(1,1)=2000,N(1,2)=1000,N(2,1)=100,N(2,2)=100K2=idct2(N);N(1,1)=100,N(1,2)=200,N(2,1)

23、=10,N(2,2)=20;N(1,5)=1;N(5,5)=20;K3=idct(N);N(1,1)=600,N(1,2)=300,N(2,1)=60,N(2,2)=70;N(1,5)=19;N(5,5)=120,N(5,1)=20;K4=idct2(N)figure(2);subplot(2,2,1),imshow(K1,0 255);title(K1)subplot(2,2,2),imshow(K2,0 255);title(K2)subplot(2,2,3),imshow(K3,0 255);title(K3)subplot(2,2,4),imshow(K4,0 255);title(K

24、4)%对图像做dct变换和量化I=imread(cameraman.tif);%读入原始图像J=dct2(I);%对原始图像做DCT变换m,n=size(I);%获取图像大小i=1:m;j=1:n;K1=zeros(m,n);K2=K1;K3=K2;K1(i,j)=round(J(i,j)/8)%量化K2(i,j)=round(J(i,j)/4)%量化K3(i,j)=round(J(i,j)/16)%量化J1=zeros(m,n);J2=J1;J3=J2;J1(i,j)=K1(i,j)*8;%反量化J2(i,j)=K2(i,j)*4;%反量化J3(i,j)=K3(i,j)*16;%反量化I1=

25、zeros(m,n);I2=I1;I3=I2;I1=idct2(J1);%反dct变换I2=idct2(J2);%反dct变换I3=idct2(J3);%反dct变换figure(3)subplot(2,2,1),imshow(I);title(原始图像);subplot(2,2,2);imshow(I2,0 255);title(重建图像(q=4);subplot(2,2,3);imshow(I1,0 255);title(重建图像(q=8);subplot(2,2,4);imshow(I3,0 255);title(重建图像(q=16);%使用量化矩阵对图像做量化A=imread(came

26、raman.tif);I=im2double(A);T=dctmtx(8);B=blkproc(I,8 8,P1*x*P2,T,T);%DCT变换%量化Q= 16 11 10 16 24 40 51 61 ;12 12 14 19 26 58 60 55 ;14 13 16 24 40 57 69 56 ;14 17 22 29 51 87 80 62 ;18 22 37 58 68 109 103 77 ;24 35 55 64 81 104 113 92 ;49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99;BQ=blkproc(B

27、,8 8,x./P1,Q);%用量化矩阵量化DCT系数矩阵BQ=round(BQ*255)/255;%做四舍五入IBQ=blkproc(BQ,8 8,x.*P1,Q);%反量化IB=blkproc(IBQ,8 8,P1*x*P2,T,T);%进行DCT反变换%IB=uint8(IB);%转换为Uint8类型;figure(4);subplot(2,2,1);imshow(A);title(原始图像);subplot(2,2,2);imshow(I1,0 255);title(重建图像(q=8);subplot(2,2,3);imshow(IB);title(重建图像(量化矩阵);subplot

28、(2,2,4);imshow(imcomplement(uint8(IB*255)-A);title(量化后与原图差别求反);实验二、自编matlab程序1均值滤波1均值滤波的概念及用法均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。 均值滤波也称为线性滤波,其采用的主要方法为领域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像

29、素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m f(x,y) m为该模板中包含当前像素在内的像素总个数。2 均值滤波的MATLAB程序clear allx=imread(d:/te_1.bmp);b=double(x);m,n=size(b);for i=2:m-1for j=2:n-1me=round(b(i-1,j-1)+b(i-1,j)+b(i,j-1)+b(i+1,j)+b(i,j+1)+b(i+1,j+1)+b(i-1,j+1)+b(i+1,j-1)+b(i,j)/9); b(i,j)=me;endendimshow(b,);2、中值滤波1中值滤波的概念及用法中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。 以一维信号的中值滤波举例。对灰度序列80、120、90、200、100、110、70,如果按大小顺序

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1