数字图像处理-实验指导书.doc

上传人:M****1 文档编号:557048576 上传时间:2023-02-17 格式:DOC 页数:16 大小:51.51KB
返回 下载 相关 举报
数字图像处理-实验指导书.doc_第1页
第1页 / 共16页
数字图像处理-实验指导书.doc_第2页
第2页 / 共16页
数字图像处理-实验指导书.doc_第3页
第3页 / 共16页
数字图像处理-实验指导书.doc_第4页
第4页 / 共16页
数字图像处理-实验指导书.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数字图像处理-实验指导书.doc》由会员分享,可在线阅读,更多相关《数字图像处理-实验指导书.doc(16页珍藏版)》请在金锄头文库上搜索。

1、数字图像处理实验指导书前 言数字图像处理技术的研究内容涉及工程学、计算机科学、信息科学、统计学、物理学、生物医学工程和社会科学等领域􀌜它已成为高等理工院校电子信息工程、通信工程、生物医学工程、信号与信息处理等学科的一门重要的专业技术课。作为人类获取信息的重要来源及利用信息的重要手段􀌜数字图像处理技术被广泛应用于工业、农业、交通、气象、生物医学、军事、公安、机器人视觉、导航、多媒体信息网络通信等领域􀌜给人类带来了巨大的经济和社会效益。考虑到实际需要,在注重理论与实践的前提下,编写了这本实验指导资料。本书以实践为基础,利用MATLAB 图像处理

2、工具箱在数学运算和算法验证上的优势,结合教学实际,安排了熟悉matlab编程环境和图像基本操、图像变换、图像增强和滤波增强、图像滤波恢复、图像的压缩编码、图像的边缘检测和分割、图像分割后的目标对象的参数测量以及伪彩色图像处理等部分的相关实验8个。通过具体的上机实践,激发同学们的学习激情在学习和实践中充分体验数字图像处理的内涵和它的魅力。实验一 熟悉matlab编程环境和图像基本操作一、实验目的及要求1.熟悉MATLAB编程环境2.熟悉图像的基本操作方法:读取、显示、保存、3.熟悉简单二值图像的创建以及图像的像素平移变换二、实验任务1从电脑中读取一幅图片并显示,然后保存到一个制定路径2创建一幅二

3、值灰度图像,背景灰度级为0,图像中间矩形框的灰度级为2553对二值图像中矩形框的像素进行平移变换三、示例代码iname,ipath=uigetfile(*.jpg;*.bmp;*.tif;*.*,load image,); %读取图片I=ipath,iname;image=imread(I);imshow(image); %显示图片 imwrite(image, picture.jpg); %保存图片bwimage=zeros(256,256,uint8); %创建二值图像bwimage(100:156,100:156)=255;imshow(bwimage); M,N=size(bwimag

4、e);shiftdis=80; %定义像素平移量R=1,0,shiftdis;0,1,shiftdis;0,0,1; %定义平移矩阵temp=0,0,1 resultimage=zeros(M,N,uint8); for i=100:156 %平移转换 for j=100:156 temp(1)=i; temp(2)=j; transdot=R*temp; resultimage(transdot(1),transdot(2)=bwimage(i,j); end endfigure;imshow(resultimage);实验二 图像变换(傅里叶、离散余弦)一、实验目的及要求1.熟悉傅里叶变换

5、和离散余弦变换的原理2.掌握傅里叶变换和离散余弦变换的算法和应用二、实验任务1从电脑中读取一幅图片并显示2将读取的彩色图片转换为灰度图3对灰度图分别进行傅里叶变换和离散余弦变换三、示例代码iname,ipath=uigetfile(*.jpg;*.bmp;*.tif;*.*,load image,);I=ipath,iname;image=imread(I);imshow(image); figure;igray=rgb2gray(image); %将彩色图转换为灰度图imshow(igray,); figure;X=fft2(igray); %二维傅里叶变换X2=abs(X.2);imsho

6、w(log(X2),); figure;Y=fftshift(X); %将低频点移动到中心Y=abs(Y);imshow(log(Y),);figure;imagecos=dct2(igray); %离散余弦变换imshow(log(abs(imagecos)实验三 图像的空域增强和滤波增强一、实验目的及要求1.熟悉图像的直方图计算方法和直方图均衡化原理2.熟悉图像的巴特沃斯滤波和理想低通滤波原理2.掌握图像的直方图计算的实现和直方图均衡化算法、图像的巴特沃斯滤波和理想低通滤波算法和应用二、实验任务1从电脑中读取一幅图片并显示2将读取的彩色图片转换为灰度图3计算灰度图的统计直方图并进行直方图均

7、衡化以增强图像4. 对灰度图进行维纳滤波三、示例代码iname,ipath=uigetfile(*.jpg;*.bmp;*.tif;*.*,load image,);I=ipath,iname;image=imread(I);imshow(image); figure;igray=rgb2gray(image); %彩色图转换为灰度图imshow(igray,); figure;imhist(igray); %计算灰度图的统计直方图 figure;eq_igray=histeq(igray); %灰度统计直方图均衡化imshow(eq_igray); figure; %显示均衡化化后的直方图i

8、mhist(eq_igray);%巴特沃斯滤波和理想低通滤波iname,ipath=uigetfile(*.jpg;*.bmp;*.tif;*.*,load image,);I=ipath,iname;I1=imread(I);imshow(I1);title(原始图像);I1=rgb2gray(I1);figure;imshow(I1);I2=imnoise(I1,salt & pepper);figure;imshow(I2);title(噪声图像);f=double(I2);g=fft2(f);%二维傅里叶变换g=fftshift(g);%转换数据矩阵N1,N2=size(g);n=2;

9、d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=2:N2d=sqrt(i-n1)2+(j-n2)2);h=1/(1+0.414*(d/d0)(2*n); %计算巴特沃斯低通滤波转换函数result1(i,j)=h*g(i,j);if(g(i,j)50) %进行理想低通滤波result2(i,j)=0;elseresult2(i,j)=g(i,j);endendendresult1=ifftshift(result1); %巴特沃斯低通滤波后反变换result2=ifftshift(result2); %理想低通滤波后反变换X2=ifft2(res

10、ult1);X3=uint8(real(X2);figure;imshow(X3);title(Butterworth 滤波图像);X4=ifft2(result2);X5=uint8(real(X4);figure;imshow(X5);title(理想低通滤波器);实验四 图像的滤波恢复一、实验目的及要求1.熟悉图像恢复的基本原理2.熟悉图像的维纳滤波恢复原理2.掌握图像的维纳滤波恢复算法和应用二、实验任务1从电脑中读取一幅图片并显示2将读取的彩色图片转换为灰度图3人为对灰度图增加噪声4利用维纳滤波算法对噪声图像进行恢复以提高显示质量三、示例代码d=15; %设定长度h=zeros(2*d

11、+1,2*d+1);h(d+1,1:2*d+1)=1/(2*d); %设定函数hiname,ipath=uigetfile(*.jpg;*.bmp;*.tif;*.*,load image,);I=ipath,iname;f=imread(I);imshow(f);f=rgb2gray(f);figure;imshow(f);m,n=size(f); %计算图像大小(尺寸)fe=zeros(m+2*d,n+2*d); %扩增ffe(1:m,1:n)=f;he=zeros(m+2*d,n+2*d);he(1:2*d+1,1:2*d+1)=h; %扩增hF=fft2(fe);H=fft2(he);

12、ns=5*rand(m+2*d,n+2*d); %产生噪声g=ifft2(F.*H)+ns; %产生噪声且加载噪声的图像G=fft2(g);K=0; %设定K值F_est=(H.2)./(H.2+K).*G./H; %维纳滤波f_est=real(ifft2(F_est); %恢复后的图像imshow(f); 显示原始图像figure;imshow(g(d+1:m+d,d+1:n+d),min(g(:) max(g(:); %、显示模糊后加噪声的图像figure;imshow(f_est(1:m,1:n),min(f_est(:) max(f_est(:);%显示恢复后的图像实验五 图像的压缩

13、编码一、实验目的及要求1.熟悉图像的压缩编码的基本原理和方法2.在MATLAB实现用离散余弦变换(DCT)对图像进行压缩编码2.在MATLAB实现用行程编码(RLE)对图像进行压缩编码二、实验任务1从电脑中读取一幅图片2利用DCT对图像进行压缩编码3利用RLE对图像进行压缩编码三、示例代码%DCT图像压缩编码iname,ipath=uigetfile(*.jpg;*.bmp;*.tif;*.*,load image,);IPATH=ipath,iname;I=imread(IPATH);I=rgb2gray(I); I=im2double(I); %将原图像转换为双精度数据类型T=dctmtx

14、(8); %产生二维DCT变换矩阵B=blkproc(I,8 8,P1*x*P2,T,T); %计算二维DCT 矩阵T,转置T(函数p1*x*p2的参数)mask= 1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0; %二值掩膜,用来压缩DCT系数,只保留DCT系数中左上角的10个B2=blkproc(B,8 8,P1.*x,mask); %只保留DCT变换的10个系数I2= blkproc(B2,8,8,P1*x*P2,T,T);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号