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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

图像处理实验报告太原理工大学现代科技学院.docx

1、图像处理实验报告太原理工大学现代科技学院太原理工大学现代科技学院图像处理 课程 实验报告 实验一、空域图像增强技术一、 实验目的1结合实例学习如何在视频显示程序中增加图像处理算法;2理解和掌握图像的线性变换和直方图均衡化的原理和应用;3了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;4 了解噪声模型及对图像添加噪声的基本方法。二、 实验原理1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。按照图像概率密度函数PDF的定义:通过转换公式获得:3 均

2、值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。将模板中的全体像素的均值(中值)来代替原来像素值的方法。4 拉普拉斯算子如下: 拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。三、 实验步骤1 启动MATLAB程序,对图像文件分别进行灰度线性变换(参考教材50页,例4.1)、直方图均衡化(参考教材56页,例4.6)、均值滤波(参考教材60页,例4.9)、中值滤波(参考教材64页,例4.11)和梯度锐化操作(参考教材66页,例4.12)。添加噪声,重复上述过程观察处理结果。2记录和整理实验报告四、

3、实验仪器1计算机;2 MATLAB程序;3记录用的笔、纸。五、 实验报告内容1叙述实验过程;2提交实验的原始图像和结果图像。I=imread(pout.tif);imshow(I);imwrite(I,e:daxia.tif)I=double(I);M,N=size(I);for i=1; Mfor j=1; Nif I(i,j)=30I(i,j)=i(i,j);elseif I(i,j) I=imread(tire.tif); M,N=size(I) II1=zeros(M,N); for i=1;16II(:,:,i)=imnoise(I,gaussian,0,0.01)II1=II1+d

4、ouble(II(:,:,i);if or(or(i=1,i=4),or(i=8,i=16);figure;imshow(uint8(II1/i); imwrite(uint8(II1/i),x.tif); 中值滤波I=imread(tire.tif);I=imread(tire.tif); J=imnoise(I,salt & pepper,0.02);subplot(231),imshow(I);title(原图像);imwrite(I,x.tif);subplot(232),imshow(J);title(添加椒盐噪声图像);imwrite(J,x1.tif);k1=medfilt2(J

5、);k2=medfilt2(J,5 5);k3=medfilt2(J,7 7);k4=medfilt2(J,9 9); subplot(233),imshow(k1);title(3*3模板中值滤波);imwrite(k1,x2.tif);subplot(234),imshow(k2);title(5*5模板中值滤波);imwrite(k2,x3.tif);subplot(235),imshow(k3);title(7*7模板中值滤波);imwrite(k3,x3.tif);subplot(236),imshow(k4);title(9*9模板中值滤波);imwrite(k4,x4.tif);

6、I=imread(tire.tif); subplot(131),imshow(I);imwrite(I,x.tif); H=fspecial(Sobel); H=H; TH=filter2(H,I); subplot(132),imshow(TH,);imwrite(TH,x2.tif); H=H; TH=filter2(H,I); subplot(133),imshow(TH,);imwrite(TH,x3.tif);1.设定不同的斜率值和截距,显示效果会怎么样?答:设定不同的斜率值和截距,可对任一灰度区间进行扩展和压缩。2、直方图均衡化是什么意思?它的主要用途是什么?答:若一幅图像其像素

7、占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的灰度色调,而显示出一幅灰度级丰富且动态范围大的图像。 把原始图像不均衡的直方图变换为均匀分布的形式,这样就增加了灰度值的动态范围,从而达到增强图像整体对比度的效果。 3、均值(中值)滤波的模板大小对处理效果有什么影响?答:二维中值滤波的窗口形状和尺寸对滤波效果影响较大。不同的图像内容和不同的应用要求,应该采用不同的窗口形状和尺寸实验二、图像几何变换一、 实验目的1结合实例学习如何在视频显示程序中增加图像处理算法;2理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;二、 实验原理1 初始坐标为(, )的点经过

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

9、、 实验仪器1计算机;2 MATLAB程序;f=checkerboard(19);figure(1);imshow(f);imwrite(f,x.tif);s=0.7;theta=pi/9;T=s * cos(theta) s * sin(theta) 0-s * sin(theta) s * cos(theta) 00 0 1;tform=maketform(affine,T);g1=imtransform(f,tform,nearest);figure(2);imshow(g1);imwrite(g1,x1.tif);g2=imtransform(f,tform);figure(3);im

10、show(g2);imwrite(g2,x2.tif);g3=imtransform(f,tform,Fillvalue,0.5);figure(4);imshow(g3);imwrite(g3,x.tif);f=imread(circlesBrightDark.png);figure(1);imshow(f);g=imread(circlesBrightDark.png);figure(2);imshow(g);base_points=256.4000 256.1273; 1.5818 256.4182; 256.4182 1.0000; 200.5636 203.4727; 147.327

11、3 183.9818; 96.4182 145.0000; 44.6364 35.0364; 157.5091 30.3818;input_points=280.0455 304.6182; 1.3455 255.2545; 255.2545 1.0000; 205.8545 225.8909; 145.7455 196.5273; 90.4727 146.7818; 38.6545 32.4364; 148.5091 31.0545;tform=cp2tform(input_points,base_points,projective);gp=imtransform(g,tform,XData

12、,1 256,YData,1 256);figure(3);imshow(gp);imwrite(f,d:00.tif) imwrite(g,d:01.tif)imwrite(gp,d:02.tif)3记录用的笔、纸。五、 实验报告内容1叙述实验过程;2提交实验的原始图像和结果图像。六、思考题1.改变水平和垂直的偏移量,观察显示? 答:图像扭曲2.改变缩放比例,看看效果如何? 答:图像复原大小改变3.改变旋转角度,显示效果会怎么样? 答:图像扭曲实验三、图像压缩编码技术一、实验目的1、理解有损压缩和无损压缩的概念;2、理解图像压缩的主要原则和目的;3、了解几种常用的图像压缩编码方式;4、利用M

13、ATLAB程序进行图像压缩编码。二、实验原理1、图像压缩原理图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。编码压缩方法有许多种,从不同的角度出发有不同的分类方法

14、,从信息论角度出发可分为两大类。(1)冗余度压缩方法,也称无损压缩、信息保持编码或熵编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是说解码图像和原始图像是有差别的,允许有一定的失真。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:(1)无损压缩编码种类哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。(2)有损压缩编码种类预测编码,DPCM,运动补偿;频率域方法:正交变换编码(如DCT),子带编码;空间域方法:统计分块编码;模型方

15、法:分形编码,模型基编码;基于重要性:滤波,子采样,比特分配,向量量化;(3)混合编码。有JBIG,H.261,JPEG,MPEG等技术标准。本实验主要利用MATLAB程序进行赫夫曼(Huffman)编码和行程编码(Run Length Encoding, RLE)。三、实验内容1、实现基本JPEG的压缩和编码分三个步骤:(1)首先通过DCT变换去除数据冗余;(2)使用量化表对DCT系数进行量化;(3)对量化后的系数进行Huffman编码。四、实验步骤1打开计算机,启动MATLAB程序;2选择一幅图像,并进行赫夫曼和行程编码压缩处理;3 将原图像在Photoshop软件中打开,分别以不同的位图

16、文件格式进行“另保存”,比较它们的数据量。4记录和整理实验报告五、实验仪器1计算机;2 MATLAB、Photoshop等程序;3移动式存储器(软盘、U盘等)。4记录用的笔、纸。六、实验报告内容1叙述实验过程;2提交实验的原始图像和结果图像。edit addnodefunction codeword_new=addnode(codeword_old,item)codeword_new=cell(size(codeword_old);for index=1:length(codeword_old) codeword_newindex=item codeword_oldindex;endedit

17、frequencyfunction f=frequency(vector)ifisa(vector,uint8) error(input argument must be a uint8 vector);endf=repmat(0,1,256);len=length(vector);for index=0:255 f(index+1)=sum(vector=uint8(index);endf=f./len;edit huffencode%huffencodevectorHuffmanfunctionzipped,info=huffencode(vector)%uint8%info%info.p

18、ad%info.huffcodesHuffman%info.rows%info.cols%info.length%info.maxcodelenif isa(vector,uint8) eror(input argument must be a uint8 vector);endm,n=size(vector);vector=vector(:);f=frequency(vector); %symbols=find(f=0);f=f(symbols);f,sortindex=sort(f); %symbols=symbols(sortindex);len=length(symbols);symb

19、ols_index=num2cell(1:len);codeword_tmp=cell(len,1);while length(f)1 %Huffman index1=symbols_index1; index2=symbols_index2; codeword_tmp(index1)=addnode(codeword_tmp(index1),uint8(0); codeword_tmp(index2)=addnode(codeword_tmp(index2),uint8(1); f=sum(f(1:2) f(3:end); symbols_index=index1,index2 symbol

20、s_index(3:end); f,sortindex=sort(f); symbols_index=symbols_index(sortindex);endcodeword=cell(256,1);codeword(symbols)=codeword_tmp;len=0;for index=1:length(vector) len=len+length(codeworddouble(vector(index)+1);endstring=repmat(uint8(0),1,len);pointer=1;for index=1:length(vector) code=codeworddouble

21、(vector(index)+1; len=length(code); string(pointer+(0:len-1)=code; pointer=pointer+len;endlen=length(string);pad=8-mod(len,8);if pad0 string=string uint8(zeros(1,pad);endcodeword=codeword(symbols);codelen=zeros(size(codeword);weights=2.(0:23);maxcodelen=0;for index=1:length(codeword) len=length(code

22、wordindex); if lenmaxcodelen maxcodelen=len; end if len0 code=sum(weights(codewordindex=1); code=bitset(code,len+1); codewordindex=code; codelen(index)=len; endendcodeword=codeword:;%cols=length(string)/8;string=reshape(string,8,cols);weights=2.(0:7);zipped=uint8(weights*double(string);%huffcodes=sp

23、arse(1,1);for index=1:nnz(codeword) huffcodes(codeword(index),1)=symbols(index);end%info.pad=pad;info.huffcodes=huffcodes;info.ratio=cols./length(vector);info.length=length(vector);info.maxcodelen=maxcodelen;info.rows=m;info.cols=n;edit huffdecodefunction vector=huffdecode(zipped,info,image)ifisa(zi

24、pped,uint8) error(input argument must be a uint8 vector);end%0,1len=length(zipped);string=repmat(uint8(0),1,len.*8);bitindex=1:8;for index=1:len string(bitindex+8.*index-1)=uint8(bitget(zipped(index),bitindex);endstring=logical(string(:);len=length(string);string(len-info.pad+1):end)=;len=length(str

25、ing);%weights=2.(0:51);vector=repmat(uint8(0),1,info.length);vectorindex=1;codeindex=1;code=0;for index=1:len code=bitset(code,codeindex,string(index); codeindex=codeindex+1; byte=decode(bitset(code,codeindex),info); if byte0 vector(vectorindex)=byte-1; codeindex=1; code=0; vectorindex=vectorindex+1

26、; endendvector=reshape(vector,info.rows,info.cols);edit bytefunction byte=decode(code,info)byte=info.huffcodes(code);clearload woman;data=uint8(X);zipped,info=huffencode(data);unzipped=huffdecode(zipped,info);subplot(1,2,1);imshow(data);subplot(1,2,2);imshow(unzipped);erms=compare(data(:),unzipped(:

27、)cr=info.ratiowhos data unzipped zippedfuction erms=compare(f1,f2)e=double(f1)-double(f2)m,n=size(e);eras=sqrt(sum(e(:)2/(m*n)function cr=imageratio(f1,f2)error(nargchk(2,2nargin)cr=bytes(f1)/bytes(f2)function b=bytes(f2)if ischar(f) info=dir(f) b=info.byteselseif=isstruct(f) b=0 fields=fieldnames(f) for k=1:length(fileds) b=b+bytes(f.(fileds) endelse info=whos(f) b=info.bytesendclea

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

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