最常用的matlab图像处理的源代码_第1页
最常用的matlab图像处理的源代码_第2页
最常用的matlab图像处理的源代码_第3页
最常用的matlab图像处理的源代码_第4页
最常用的matlab图像处理的源代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上最常用的一些图像处理Matlab源代码#1:数字图像矩阵数据的显示及其傅立叶变换#2:二维离散余弦变换的图像压缩#3:采用灰度变换的方法增强图像的对比度#4:直方图均匀化#5:模拟图像受高斯白噪声和椒盐噪声的影响#6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波#7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波#8:图像的自适应魏纳滤波#9:运用5种不同的梯度增强法进行图像锐化#10:图像的高通滤波和掩模处理#11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理#12:利用巴特沃斯(Butter

2、worth)高通滤波器对受噪声干扰的图像进行平滑处理 1.数字图像矩阵数据的显示及其傅立叶变换f=zeros(30,30);f(5:24,13:17)=1;imshow(f, 'notruesize');F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不                      % 是,通过对f矩阵进行零填充来调整   F2=fftshift(F);

3、      % 一般在计算图形函数的傅立叶变换时,坐标原点在                      % 函数图形的中心位置处,而计算机在对图像执行傅立叶变换                      % 时是以图像的左上角为坐标原点。所以使用函数fftshift进 

4、                     %行修正,使变换后的直流分量位于图形的中心;figure,imshow(log(abs(F2),-1 5,'notruesize');  2  二维离散余弦变换的图像压缩I=imread('cameraman.tif');           % MATLAB自带的图像imshow(I

5、);clear;close allI=imread('cameraman.tif');imshow(I);I=im2double(I);T=dctmtx(8);B=blkproc(I,8 8, 'P1*x*P2',T,T');Mask=1 1 1 1 0 0 0 0       1 1 1 0 0 0 0 0       1 1 0 0 0 0 0 0       1 0 0 0 0 0 0 0     &

6、#160; 0 0 0 0 0 0 0 0       0 0 0 0 0 0 0 0       0 0 0 0 0 0 0 0       0 0 0 0 0 0 0 0;B2=blkproc(B,8 8,'P1.*x',Mask);    % 此处为点乘(.*)I2=blkproc(B2,8 8, 'P1*x*P2',T',T);figure,imshow(I2);     

7、60;           % 重建后的图像 3.采用灰度变换的方法增强图像的对比度I=imread('rice.tif');imshow(I);figure,imhist(I);J=imadjust(I,0.15 0.9, 0 1);figure,imshow(J);figure,imhist(J);  4直方图均匀化I=imread('pout.tif');  % 读取MATLAB自带的potu.tif图像imshow(I);fi

8、gure,imhist(I);     J,T=histeq(I,64);      % 图像灰度扩展到0255,但是只有64个灰度级figure,imshow(J);figure,imhist(J);figure,plot(0:255)/255,T); % 转移函数的变换曲线J=histeq(I,32);figure,imshow(J);   % 图像灰度扩展到0255,但是只有32个灰度级figure,imhist(J);5模拟图像受高斯白噪声和椒盐噪声的影响I=imread('ei

9、ght.tif');imshow(I) ;J1=imnoise(I,'gaussian',0,0.02); % 叠加均值为0,方差为0.02的高斯噪声,可以用                                       % localvar代替figure,imshow  (J1

10、);J2=imnoise(I,'salt & pepper',0.04); % 叠加密度为0.04的椒盐噪声。                                          figure,imshow(J2); 6采用二维中值滤波函数medfilt2对受椒盐噪声干扰

11、的图像I=imread('eight.tif');imshow(I) ;J2=imnoise(I,'salt & pepper',0.04); % 叠加密度为0.04的椒盐噪声。                                          figure,im

12、show(J2);I_Filter1=medfilt2(J2,3 3);  %窗口大小为3×3figure,imshow(I_Filter1);I_Filter2=medfilt2(J2,5 5);  %窗口大小为5×5figure,imshow(I_Filter2);I_Filter3=medfilt2(J2,7 7);  %窗口大小为7×7figure,imshow(I_Filter3);   7采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波I,map=imr

13、ead('eight.tif');figure,imshow(I);title('original')J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰M4=0 1 0; 1 0 1; 0 1 0;M4=M4/4;                 % 4邻域平均滤波I_filter1=filter2(M4,J1);figure,imshow(I_filter1,map);  

14、M8=1 1 1; 1 0 1; 1 1 1;      % 8邻域平均滤波M8=M8/8;I_filter2=filter2(M8,J1);figure,imshow(I_filter2,map); 8图像的自适应魏纳滤波I,map=imread('eight.tif');figure,imshow(I);title('original')J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰K noise=wiener2(J1, 5 5);figure,imsho

15、w(K);  9运用5种不同的梯度增强法进行图像锐化I,map=imread('3-22.jpg');imshow(I,map);I=double(I);Gx,Gy=gradient(I);       % 计算梯度G=sqrt(Gx.*Gx+Gy.*Gy);   % 注意是矩阵点乘J1=G;figure,imshow(J1,map);    % 第一种图像增强J2=I;            

16、60;      % 第二种图像增强K=find(G>=7);J2(K)=G(K);figure,imshow(J2,map);J3=I;                   % 第三种图像增强K=find(G>=7);J3(K)=255;figure,imshow(J3,map);J4=I;                

17、  % 第四种图像增强K=find(G<=7);J4(K)=255;figure,imshow(J4,map);J5=I;                   % 第五种图像增强K=find(G<=7);J5(K)=0;Q=find(G>=7);J5(Q)=255;figure,imshow(J5,map);   10图像的高通滤波和掩模处理I,map=imread('blood1.tif');imsh

18、ow(I,map);H2=-1 -1 -1;-1 -9 -1;-1 -1 -1;J1=filter2(H2,I);             % 高通滤波figure,imshow(J1,map);I=double(I);M=1 1 1;1 1 1;1 1 1/9;J2=filter2(M,I);J3=I-J2;                % 掩模figure,imshow(J3,map);11利用巴特沃斯(But

19、terworth)低通滤波器对受噪声干扰的图像进行平滑处理I=imread('Saturn.tif');imshow(I);J1=imnoise(I,'salt & pepper');   % 叠加椒盐噪声figure,imshow(J1);f=double(J1);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算g=fft2(f);        % 傅立叶变换g=fftshift(g);   

20、  % 转换数据矩阵M,N=size(g);nn=2;           % 二阶巴特沃斯(Butterworth)低通滤波器d0=50;m=fix(M/2); n=fix(N/2);for i=1:M       for j=1:N           d=sqrt(i-m)2+(j-n)2);         &

21、#160; h=1/(1+0.414*(d/d0)(2*nn);  % 计算低通滤波器传递函数           result(i,j)=h*g(i,j);       endendresult=ifftshift(result);J2=ifft2(result);J3=uint8(real(J2);figure,imshow(J3);                      % 显示滤波处理后的图像12利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理I=imread('blood1.tif');imshow(I);f=double(I);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算g=fft2(f);        % 傅立叶变换g=fftshift(g);  &#

温馨提示

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

评论

0/150

提交评论