西电数字图像处理实验指导——学生版.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说明 每个实验题目包含一些数字图像处理的程序设计要求,需要使用的数字图像在对应的文件夹中给出,供上机实验参考使用。对于每个题目,只需要根据题目要求设计,对程序进行编译、调试。 实验一 图像处理的基本操作 实验目的 熟悉有关数字图像处理的MATLAB基本操作和编写 掌握数字图像的基本读写、显示与保存。 能够利用MATLAB工具箱完成图像处理的基本运算 实验内容 (1)读取图像并显示真彩色图像(2)读取图像并显示索引色图像,并转换为灰度图像;(3)读取图像并显示灰度图像,并转换为二进制图像;(4)检测内存中的图像和保存图像; moon.tif, canoe.tif, tree.tif, ’rice.png’ 查看不同分辨率下图像的显示结果; % BW=imread(trees.tif); %将图像格式文件读入为MATLAB图像对象数组数据 % imshow(BW) %显示图像 clear X=imread(moon.tif); figure; subplot 221 imshow(uint8(X)); [m,n]=size(X); subplot 222 X1=X(1:4:m,1:4:n); imshow(uint8(X1)); subplot 223 X2=X(1:16:m,1:16:n); imshow(uint8(X2)); subplot 224; X3=imresize(X,0.2); imshow(uint8(X3)); 对于彩色图像观看GRB通道各单通道图像。 imshow(:,:,1) 实现马赫带效应并画出灰度直方图。 clc; a=zeros(256,256); for i=1:32:256 a(:,i:i+32)=i; end figure(1); imshow(uint8(a)); figure(2); imhist(uint8(a)); 实验二 图像变换 实验目的 熟悉有关MATLAB工具箱中提供的图像变换函数; 掌握傅立叶变换和小波变换等常用的正交变换函数。 实验内容 对图像进行傅立叶变换和离散余弦变换,并分别求出其逆变换后重构图像的均方误差; clc;I=imread(IM2.BMP); subplot(1,2,1) imshow(I); title(原图); subplot(1,2,2) imhist(I); title(直方图); colorbar; J=fft2(I); figure; subplot(1,2,1) imshow(J); title(FFT变换结果); subplot(1,2,2) K=fftshift(J); imshow(K); title(零点平移); figure; imshow(log(abs(K)),[]); colormap(jet(64)),colorbar; title(系数分布图); 求两层小波分解,观察分解系数并重构,求重构图像误差值。 clear;clc; %%%%%%%%%%测试图像只能是方形图像,长宽像素一样。 f=imread(Lena.bmp);%%读取图像数据,图像只能保存在m文件所在的路径下 d=size(f); if length(d)2 f=rgb2gray((f));%%%%%%%%如果是彩色图像则转化为灰度图 end T=d(1); SUB_T=T/2; % 2.进行二维小波分解 l=wfilters(db10,l); % db10(消失矩为10)低通分解滤波器冲击响应(长度为20) L=T-length(l); l_zeros=[l,zeros(1,L)]; % 矩阵行数与输入图像一致,为2的整数幂 h=wfilters(db10,h); % db10(消失矩为10)高通分解滤波器冲击响应(长度为20) h_zeros=[h,zeros(1,L)]; % 矩阵行数与输入图像一致,为2的整数幂 for i=1:T; % 列变换 row(1:SUB_T,i)=dyaddown( ifft( fft(l_zeros).*fft(f(:,i)) ) ).; % 圆周卷积-FFT row(SUB_T+1:T,i)=dyaddown( ifft( fft(h_zeros).*fft(f(:,i)) ) ).; % 圆周卷积-FFT end; for j=1:T; % 行变换 line(j,1:SUB_T)=dyaddown( ifft( fft(l_zeros).*fft(row(j,:)) ) ); % 圆周卷积-FFT line(j,SUB

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档