西电 数字图像处理上机报告_第1页
西电 数字图像处理上机报告_第2页
西电 数字图像处理上机报告_第3页
西电 数字图像处理上机报告_第4页
西电 数字图像处理上机报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、数字图像处理上机报告实验一一、实验目的1熟悉有关数字图像处理的MATLAB基本操作和编写;2掌握数字图像的基本读写、显示与保存;3能够利用MATLAB工具箱完成图像处理的基本运算;二、实验内容1(1)读取图像并显示真彩色图像house.tiff;(2)读取图像并显示索引色图像canoe.tif,并转换为灰度图像;(3)读取图像并显示灰度图像rice.png,并转换为二进制图像;(4)检测内存中的图像和保存图像;2查看不同分辨率下图像lena.tiff的显示结果;3对彩色图像Peppers.png观看GRB通道各单通道图像;4实现马赫带效应并画出灰度直方图。程序如下:clear allclose

2、 allclc%Task1%读取图像并显示真彩色图像%读入图像img_house=imread(house.tiff);figure(NumberTitle, off, Name, 真彩House);imshow(img_house)%Task2%读取图像并显示索引色图像,并转换为灰度图像;%读入图像img_canoe,MAP_canoe=imread(canoe.tif);figure(NumberTitle, off, Name, 索引Canoe);imshow(img_canoe,MAP_canoe)gray_canoe = ind2gray(img_canoe,MAP_canoe);f

3、igure(NumberTitle, off, Name, 灰度Canoe);imshow(gray_canoe);%Task3%读取图像并显示灰度图像,并转换为二进制图像%读入图像img_rice=imread(rice.png);figure(NumberTitle, off, Name, 灰度Rice);imshow(img_rice)bw_rice = im2bw(img_rice);figure(NumberTitle, off, Name, 二进制Rice);imshow(bw_rice);%Task4%读取图像-保存图像-重新读取保存的图像%读入图像img_rice=imread

4、(rice.png);figure(NumberTitle, off, Name, Read Image Rice);imshow(img_rice)imwrite(img_rice,RiceImg_Write,TIFF);img_rice_Rre=imread(RiceImg_Write,TIFF);figure(NumberTitle, off, Name, Reread Rice);imshow(img_rice_Rre);%Task4%读取图像并显示真彩色图像%读入图像img_lena=imread(lena.tiff);figure(NumberTitle, off, Name, L

5、ena);imshow(img_lena)small_lena = imresize(img_lena, 0.1);%图像缩放figure(NumberTitle, off, Name, Small Lena);imshow(small_lena)big_lena = imresize(img_lena, 0.7);%图像缩放figure(NumberTitle, off, Name, Big Lena);imshow(big_lena)%Task5%对彩色图像Peppers.png观看GRB通道各单通道图像%读入图像I = imread(Peppers.png);R=I;R(:,:,2 3)

6、=0;G=I;G(:,:,1 3)=0;B=I;B(:,:,1 2)=0;figure,imshow(R);figure,imshow(G);figure,imshow(B);%Task4%实现马赫带效应并画出灰度直方图imsize_x=300;%图像大小(正方形)imsize_y=300;n=7;%马赫带个数img_machbands=zeros(imsize_x,imsize_y);for i=1:n img_machbands(:,fix(imsize_y*(i-1)/n)+1:fix(imsize_y*i/n)=255*(i-1)/n;endimg_machbands=uint8(im

7、g_machbands);figure(NumberTitle, off, Name, Mach Bands);imshow(img_machbands);figure(NumberTitle, off, Name, Mach Bands Hist);imhist(img_machbands);结果如下:实验二一、实验目的1熟悉有关MATLAB工具箱中提供的图像变换函数;2掌握傅立叶变换和小波变换等常用的正交变换函数;二、实验内容1对图像lena.png进行傅立叶变换和离散余弦变换,并分别求出其逆变换后重构图像的均方误差;2实现图像lena.png的两层小波分解,观察分解系数并重构,求重构图像

8、误差值;3观察图像IM1.BMP经小波分解系数的方向性,实现三层小波分解,分别把HL,LH,HH子带置零和重构,观察重构图像跟原始图像的差异。程序如下:clear allclose allclc% FFT% 傅立叶变换和离散余弦变换,并分别求出其逆变换后重构图像的均方误差%读入图像img_lena=imread(lena.png);figure(NumberTitle, off, Name, Lena);imshow(img_lena)%FFT变换%img_lena_fft=fft2(img_lena);spectrum = fftshift(abs(img_lena_fft);spectru

9、m = 255*spectrum/max(spectrum(:);figure(NumberTitle, off, Name, Lena Spectrum);spectrum=uint8(spectrum);imshow(spectrum);%iFFT变换%img_lena_ifft=real(ifft2(img_lena_fft);%进行反变换img_lena_ifft=uint8(img_lena_ifft);figure(NumberTitle, off, Name, Lena iFFT Recovery);imshow(img_lena_ifft);%图像还原误差%deviation=

10、norm(double(img_lena_ifft-img_lena)2;text(100,100,num2str(deviation),FontSize,18,Color,b)%DCT变换%I = img_lena;img_lena_dct = dct2(I);figure(NumberTitle, off, Name, Lena DCT Spectrum);imshow(log(abs(img_lena_dct),), colormap(jet), colorbar%iDCT变换% % J(abs(J)10) = 0;%去掉部分信息img_lena_idct = idct2(img_len

11、a_dct);figure(NumberTitle, off, Name, Lena iDCT Recovery);imshow(img_lena_idct,0 255)%图像还原误差%deviation_dct=norm(double(img_lena_idct-double(img_lena)2;text(100,100,num2str(deviation_dct),FontSize,18,Color,b)% Wavelet% 小波变换与反变换,实现图像lena.png的两层小波分解,观察分解系数并重构,求重构图像误差值 Lo_D,Hi_D,Lo_R,Hi_R = wfilters(db1

12、);%生成小波变换以及反变换所需的低通高通滤波器N=2;%2层小波变换C,S = wavedec2(img_lena,N,Lo_D,Hi_D);%小波变换分层分开显示ca1=wcodemat(appcoef2(C,S,db1,1),255);ch1=wcodemat(detcoef2(h,C,S,1),255);cv1=wcodemat(detcoef2(v,C,S,1),255);cd1=wcodemat(detcoef2(d,C,S,1),255);% c1=uint8(ca1,ch1;cv1,cd1);% figure(NumberTitle, off, Name, Lena Wavel

13、et Level 1);% imshow(c1);ca2=wcodemat(appcoef2(C,S,db1,2),255);ch2=wcodemat(detcoef2(h,C,S,2),255);cv2=wcodemat(detcoef2(v,C,S,2),255);cd2=wcodemat(detcoef2(d,C,S,2),255);% c2=uint8(ca2,ch2;cv2,cd2);% figure(NumberTitle, off, Name, Lena Wavelet Level 2);% imshow(c2);%小波变换两层结果同时显示L2 = ca2,ch2;cv2,cd2

14、;k=S(2,1)*2-S(3,1);ch1 = padarray(ch1,k k,1,post);%保护原有数据矩阵cv1 = padarray(cv1,k k,1,post);cd1 = padarray(cd1,k k,1,post);L = L2,ch1; cv1,cd1;%将第二层小波变换结果添加到第一层小波变换结果上figure(NumberTitle, off, Name, Lena Wavelet L2);imshow(L,InitialMagnification,100);%小波反变换% img_iwavelet = waverec2(C,S,Lo_R,Hi_R);figur

15、e(NumberTitle, off, Name, Lena iWavelet Recovery);imshow(uint8(img_iwavelet);%图像还原误差%deviation_wavelet=norm(double(img_iwavelet-double(img_lena)2;text(100,100,num2str(deviation_wavelet),FontSize,18,Color,b)% Wavelet % 观察图像IM1.BMP经小波分解系数的方向性,实现三层小波分解,分别把HL,LH,HH子带置零和重构,观察重构图像跟原始图像的差异。%读入图像img_im1=imr

16、ead(IM1.BMP);figure(NumberTitle, off, Name, TM1 Source Image);imshow(img_im1)C,S=wavedec2(double(img_im1),3,db1);ca3 = appcoef2(C,S,db1,3);ch3 = detcoef2(h,C,S,3);cv3 = detcoef2(v,C,S,3);cd3 = detcoef2(d,C,S,3);ch2 = detcoef2(h,C,S,2);cv2 = detcoef2(v,C,S,2);cd2 = detcoef2(d,C,S,2);ch1 = detcoef2(h,

17、C,S,1);cv1 = detcoef2(v,C,S,1);cd1 = detcoef2(d,C,S,1);% L3 = ca3*4,ch3*4;cv3*4,cd3*4;L3 = ca3,ch3;cv3,cd3;k=S(2,1)*2-S(3,1);ch2 = padarray(ch2,k k,1,post);cv2 = padarray(cv2,k k,1,post);cd2 = padarray(cd2,k k,1,post);% L2= L3,ch2*4; cv2*4,cd2*4;L2= L3,ch2; cv2,cd2;k=S(2,1)*4-S(4,1);ch1 = padarray(c

18、h1,k k,1,post);cv1 = padarray(cv1,k k,1,post);cd1 = padarray(cd1,k k,1,post);% L = L2,ch1*4; cv1*4,cd1*4;L = L2,ch1; cv1,cd1;figure(NumberTitle, off, Name, Lena Wavelet L3);imshow(L,InitialMagnification,100);%LH置零%ca3 = appcoef2(C,S,db1,3);ch3 = detcoef2(h,C,S,3);cv3 = detcoef2(v,C,S,3);cd3 = detcoef2(d,C,S,3);c

温馨提示

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

评论

0/150

提交评论