数字图像处理实验_第1页
数字图像处理实验_第2页
数字图像处理实验_第3页
数字图像处理实验_第4页
数字图像处理实验_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业 学 院计算机与通信工程学院专 业生物医学工程专业班 级51111学 号姓 名杨静 指导教师贾朔 2014年04月21日 实验一 图像的基本运算实验目的:掌握图像处理中的点运算、代数运算、逻辑运算和几何运算及应用。掌握各种运算对于图像处理中的效果。实验内容:1、(1)选择一幅图像lena8.jpg,设置输入/输出变换的灰度级范围,a=0.2,b=0.6,c=0.1,d=0.9. (2)设置非线性扩展函数的参数c=2. (3)采用灰度级倒置变换函数s=255-r进行图像变

2、换 (4)设置二值化图像的阈值,分别为level=0.4,level=0.7解:参考程序如下: I=imread(C:lena8.jpg); figure; subplot(2,3,1); imshow(I); title(原图); J=imadjust(I,0.3;0.6,0.1;0.9); %设置灰度变换的范围 subplot(2,3,2); imshow(J); title(线性扩展); I1=double(I); %将图像转换为double类型 I2=I1/255; %归一化此图像 C=2; K=C*log(1+I2); %求图像的对数变换 subplot(2,3,3); imshow

3、(K); title(非线性扩展); M=im2bw(I,0.5); M=M; %M=255-I; %将此图像取反 %Figure subplot(2,3,4); imshow(M); title(灰度倒置); N1=im2bw(I,0.4); %将此图像二值化,阈值为0.4 N2=im2bw(I,0.7); %将此图像二值化,阈值为0.7 subplot(2,3,5); imshow(N1); title(二值化阈值0.4); subplot(2,3,6); imshow(N2); title(二值化阈值0.7);选取两幅大小一样的灰度图像hough.bmp和rice.bmp,将两幅图像进行

4、加法运算。解:程序如下: I=imread(C:hough.bmp); %I=rgb2gray(I); J=imread(C:rice.bmp); I=im2double(I); %将图像转换成double型 J=im2double(J); K=I+0.3*J; %两幅图像相加 subplot(1,3,1); imshow(I); title(物图); subplot(1,3,2); imshow(J); title(背景图); subplot(1,3,3); imshow(K); title(相加后的图); imwrite(K,C:lena1.jpg);3、选取一幅混合图像,如相加得到的图像

5、lenal.jpg,将混合图像与背景图像做减法运算。解:程序如下: A=imread(C:lena1.jpg); B=imread(C:rice.bmp); A=im2double(A); %将图像转换成double型 B=im2double(B); C=A-0.3*B; subplot(1,3,1); imshow(A); title(混合图); subplot(1,3,2); imshow(B); title(背景图); subplot(1,3,3); imshow(C); title(分离后的图);选取一幅尺寸为256*256像素的灰度图,如rice.bmp。设置掩模模板,对于需要保留下

6、来的区域,掩模图像的值置为1,而需要被抑制掉的区域,掩模图像的值置为0.解:程序如下: A=imread(C:rice.bmp); A=rgb2gray(A); A=im2double(A); subplot(1,2,1); imshow(A); title(原图); B=zeros(256,256); B(40:200,40:200)=1; K=A.*B; subplot(1,2,2); imshow(K); title(局部图);选取一幅大小为256*256像素的图像,如lena8.jpg.分别将图比例放大1.5倍,比例缩小0.7倍,非比例放大到420*384像素,费比例缩小到15*180

7、像素。解:程序如下: A=imread(C:lena8.jpg); Bl=imresize(A,1.5); %比例放大1.5倍,默认采用的是最近邻法进行线性插值 B2=imresize (A, 420 384); %非比例放大至420:384 Cl=imresize (A, 0 . 7) ; %比例缩 小0.7 倍 C1=imresize(A, 0.7) ; C2=imresize(A, 150 180) ; %非比例缩小到150:180 figure; imshow(Bl); title(比例放大图); figure; imshow(B2); title(非比例放大图); figure; i

8、mshow(C1); title(比例缩小图); figure; imshow(C2); title(非比例缩小图); 实验二 图像的变换实验目的:掌握图像变换的目的就是简化图像的分析与处理。图像变换在图像增强、图像恢复、图像压缩和图像特征提取等方面有着十分重要的作用。实验内容:选取一幅图像,进行离散傅立叶变换,在对其分别进行X轴与Y轴上的平移,得其傅立叶变换,观察结果图。解:实验程序如下: I=imread(C:1.bmp); %I=imread(C:lena8.jpg); %imshow(I); imshow(real(I); figure(1) I=I(:,:,3); fftI=fft2

9、(I); sfftI=fftshift(fftI); %求离散傅里叶频谱 %对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱图中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI); a=sqrt(RRfdpl.2+IIfdpl.2); a=(a-min(min(a)/(max(max(a)-min(min(a)*225; figure(2); imshow(real(a); I=imread(C:2.bmp); figure(3); imshow(real(I); I=I(:,:,3); fftI=fft2(I); sfftI=fftshift (ff

10、tI) ; %求离散傅里叶频谱 %对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱图中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI); a=sqrt(RRfdpl.2+IIfdpl.2); a=(a-min(min(a)/(max(max(a)-min(min(a)*225; figure(4); imshow(real (a); I=imread(C:3.bmp); figure (5); imshow(real (I); I=I(:,:,3); fftI=fft2 (I); sfftI = fftshift (fftI) ; %求离散傅里叶频谱

11、 %对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱图中央位置 RRfdpl=real (sfftI); IIfdpl=imag(sfftI); a=sqrt(RRfdpl.2+IIfdpl.2); a=(a-min(min(a)/(max(max(a)-min(min(a)*225; figure(6); imshow(real(a); 选取一幅图像,进行离散傅立叶变换,在对其进行一定角度的旋转,进行离散傅立叶变换。解:程序如下: %构造原始图像 I=zeros(256,256); I(88:168,124:132)=1; %图像范围是256*256,前一值是纵向比,后一值是横向比

12、imshow(I); %求原始图像的傅里叶变换 J=fft2(I); F=abs(J); J1=fftshift(F);figure imshow(J1,5 50); %对原始图像进行旋转 figure imshow(J) %求旋转后图像的傅里叶频谱 J1=fft2(J); F=abs(J1); J2=fftshift(F);figure Imshow(J2,5 50) 选取一幅图像,进行离散傅立叶变换,并对其进行离散余弦反变换,观察其结果。解:程序如下: %对lena24.ipg文件计算二维DCT变换 RGB = imread(C:lena24.jpg); figure(1) imshow(

13、RGB)I=rgb2gray(RGB);%真彩色图像转换成灰度图像 J = dct2(I);%计算二维DCT变换 figure (2)imshow(log(abs(J),)%图像大部分能量集中在上左角处 figure (3);J(abs(J) =Step*(k-1)&IStep*k);Image(Index)=Projectm(k);endfigure,imshow(Image,)end 3、对一幅灰度图像采用多种方法实现平滑、锐化滤波。解:参考程序设计如下:clear allclose allI=double(imread(C:lena8.jpg);figure,imshow(I,);% 1

14、.均值低通滤波 H=fspecial(average,5); F1=double(filter2(H,I); figure,imshow(F1,);% 2 . gaussian低通滤波 H=fspecial(gaussian,7,3); F2=double(filter2(H,I); figure,imshow(F2,);% 3.增强图像-原图-均值低通滤波F3=2*I-F1;figure,imshow(uint8 (F3),);% 4.增强图像=原图-高斯低通滤波F4=2*I-F2;figure,imshow(uint8 (F4),);%5. prewitt边缘算子增强 H=fspecial

15、(prewitt);F 5=uint8(I+filter2(H,I); figure,imshow(F5,);%6. sobel边缘算子增强 H=fspecial(sobel);F6=uint8(I + filter2(H,I); figure,imshow(F6,); 实验四 图像的复原实验目的:掌握图像的恢复原则是根据图像畸变或退化原因,进行模型化处理。进一步熟知图像恢复与图像增强的区别与联系。实验内容:对一幅灰度图像添加噪声并滤波。解:其参考程序设计如下:clear;close all;%1.生成含噪图像img = imread(C:lena8.bmp);figure; imshow(i

16、mg);img =double(imnoise(img,salt & pepper, 0.01);figure,imshow(img,);%2.采用均值滤波N=5; %滤波模板大小h=fspecial(average,N);I=filter2(h,img);figure,imshow(I,)%3.中值滤波I=medfilt2(img,N N);figure,imshow(I,)%4.最大值滤波I=ordfilt2(img,N*N,true(N);figure,imshow(I,)%5.最小值滤波I=ordfilt2(img,1,true(N); figure,imshow(I,) 对沿X轴方向

17、的波纹加性噪声进行陷波滤波。解:参考程序设计如下:close allclear all%1.生成波纹噪声图像img = double(imread(C:lena8.bmp);figure; imshow(img,);sizec=size(img);w=0.4*2*pi;%噪声的数字频率N=2*pi/w; %噪声每一周期的采样点数img_noise=img+20*ones(sizec(1),1)*sin(w*1:sizec(2); figure,imshow(img_noise,);%图像频谱 F0=fft2(img);F0=fftshift(F0);figure,imshow(log(abs(

18、F0),);F=fft2(img_noise);F=fftshift(F);figure,imshow(log(abs(F),);%2.设计理想陷波滤波器 H=ones(sizec(1),sizec(2);%图像中心点 x0=sizec(1)/2+1; y0=sizec(2)/2+1;%噪声所处频率点(x,y)x=x0;y=y0-round(sizec(2)/N);H (x,y-3:y+3)=0;H(x,(y0-y)+y0-3:(y0-y)+y0+3)=0;%3.滤波结果 I=ifftshift(F.*H); imgl=ifft2(I); figure; imshow(imgl,); 实验五

19、综合设计一、彩色图像转换为灰度图像,并进行直方图均衡化 (1)RGB=imread(C:Usershuaihuaide1231Desktopali.jpg); figure(1) imshow(RGB) I=rgb2gray(RGB);%真彩色图像转换为灰度图像 J=histeq(I);%进行直方图均衡化 figure(2) subplot(2,2,1);imshow(I);title(原始图像);%绘制原始图像 subplot(2,2,2);imshow(J);title(直方图均衡图像);%绘制直方图均衡化图像 subplot(2,2,3);imhist(I);title(原始图像直方图)

20、;%绘制原始图像的直方图 subplot(2,2,4);imhist(J);title(均衡化图像直方图);%均衡化后图像直方图 (2)RGB=imread(C:Usershuaihuaide1231Desktopali.jpg)I=rgb2gray(RGB);%彩色图像转换为灰度图像I1=2*I-55/255;%进行灰度变换figure(1)subplot(3,2,1);imshow(I1);绘制灰度变换后的图像subplot(3,2,2);imhist(I1);绘制灰度变换后图像直方图subplot(3,2,3);imshow(histeq(I1);进行直方图均衡化subplot(3,2,

21、4);imhist(histeq(I1);绘制均衡化的直方图I2=0.5*I-55/255;subplot(3,2,5);imshow(I2);subplot(3,2,6);imhist(I2);figure(2)subplot(3,2,1);imshow(histeq(I2);subplot(3,2,2);imhist(histeq(I2);I3=1*I+55/255;subplot(3,2,3);imshow(I3);subplot(3,2,4);imhist(I3);subplot(3,2,5);imshow(histeq(I3);subplot(3,2,6);imhist(histeq

22、(I3);I4=1*I-55/255;figure(3)subplot(1,2,1);imshow(I4);subplot(1,2,2)imshow(I);二、进行平滑和锐化1、平滑clear; close all; %1.生成含噪图像 img = imread(C:Usershuaihuaide1231Desktopali.jpg);I=rgb2gray(img);J =double(imnoise(I,salt & pepper, 0.01);%添加椒盐噪声subplot(2,2,1),imshow(I),title(原图像);subplot(2,2,2),imshow(J,),title

23、(添加椒盐噪声图像);K1=filter2(fspecial(average,3),J)/255;%应用3*3邻域窗口法subplot(2,2,3),imshow(K1);K2=filter2(fspecial(average,7),J)/255;%应用7*7邻域窗口法subplot(2,2,4),imshow(K2);2、锐化RGB=imread(C:Usershuaihuaide1231Desktopali.jpg)I=rgb2gray(RGB);Blurred=imfilter(I,H,replicate);%将原图与滤波器卷积得到模糊图像H=-1,-1,-1;9,-1,-1;-1,-1

24、,-1;%拉普拉斯模板BW=imfilter(Blurred,H,replicate);%将原图与拉普拉斯模板卷积锐化图像subplot(1,3,1),imshow(I),title(原图);subplot(1,3,2),imshow(Blurred),title(模糊图像);subplot(1,3,3),imshow(BW),title(锐化后的图像); 3、多种方法实现平滑、滤波RGB=double(imread(C:Usershuaihuaide1231Desktopali.jpg)J=rgb2gray(RGB);I=double(I);figure,imshow(I,);% 1.均值低

25、通滤波 H=fspecial(average,5); F1=double(filter2(H,I); figure,imshow(F1,);% 2 . gaussian低通滤波 H=fspecial(gaussian,7,3); F2=double(filter2(H,I); figure,imshow(F2,);% 3.增强图像-原图-均值低通滤波F3=2*I-F1;figure,imshow(uint8 (F3),);% 4.增强图像=原图-高斯低通滤波F4=2*I-F2;figure,imshow(uint8 (F4),);%5. prewitt边缘算子增强 H=fspecial(pre

26、witt);F 5=uint8(I+filter2(H,I); figure,imshow(F5,);%6. sobel边缘算子增强 H=fspecial(sobel);F6=uint8(I + filter2(H,I); figure,imshow(F6,); 三、给图像添加噪声并利用各种滤波器进行滤除 1、低通滤波 RGB=imread(C:Usershuaihuaide1231Desktopali.jpg); I=rgb2gray(RGB);%真彩色图像转换为灰度图像 J =double(imnoise(I,salt & pepper, 0.01);%添加椒盐噪声 figure,imsh

27、ow(I),title(原图像); figure,imshow(J,),title(添加椒盐噪声图像); F=double(J); G=fft2(F);%傅里叶变换 G=fftshift(G);%转换数据矩阵 N1,N2=size(G); n=2; d0=50; n1=fix(N1/2); n2=fix(N2/2); for i=1:N1 for j=1:N2 d=sqrt(i-n1)2+(j-n2)2);%计算巴特沃斯低通滤波器转换函数 h=1/(1+0.414*(d/d0)(2*n); result(i,j)=h*G(i,j); end end result=ifftshift(result); X2=ifft2(result); X3=uint8(r

温馨提示

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

评论

0/150

提交评论