用MATLAB程序进行图像处理[1]_第1页
用MATLAB程序进行图像处理[1]_第2页
用MATLAB程序进行图像处理[1]_第3页
用MATLAB程序进行图像处理[1]_第4页
用MATLAB程序进行图像处理[1]_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、用MATLAB程序进行图像处理一计算图像统计参数:最大值:扫描法:设第一个象素灰度级为最大值,然后与后一个象素灰度级比较,如果后面的大,则把后一象素值赋给最大值,依次逐一比较到图象最后的一个象素,找出最大值。参考程序:A,map=imread('E:lena.bmp');        %显示原图imshow(A,map),               

2、0;                     title('原图');image=double(A);%求负片k=image(1,1);for i=1:256,   for j=1:256,      if k<image(i,j);      k=imag

3、e(i,j);end,   end,end,k%显示负片figure,imshow(rimage,map),title('负片');最小值:最大值求法类似,把第一个象素灰度级设为最小值,然后逐一比较。参考程序:A,map=imread('E:lena.bmp');        %显示原图imshow(A,map),             &#

4、160;                       title('原图');image=double(A);%求负片k=image(1,1);for i=1:256,   for j=1:256,      if k>image(i,j);    

5、;  k=image(i,j);end,   end,end,k%显示负片figure,imshow(rimage,map),title('负片');均值:把图中的所有的象素值累加起来再除以图象的象素的个数。参考程序:A,map=imread('E:lena.bmp');        %显示原图imshow(A,map),            

6、;                         title('原图');image=double(A);%求负片k=image(1,1);for i=1:256,   for j=1:256,      if k>image(i,j);  &#

7、160;   k=image(i,j);end,   end,end,k%显示负片figure,imshow(rimage,map),title('负片');直方图:把图中的不同灰度等级的象素分别累加起来,再分别除以图象象素的总数。即:p(sk)=nk/n。可以得到原图的灰度值分布图。参考程序:A,map=imread('e:lena.bmp');        imshow(A,map),     &#

8、160;                               title('原图');image=double(A);for i=1:256,    a(i)=0;end,for i=1:256,   for j=1:256,

9、       b=image(i,j)+1;            a(b)=a(b)+1;             end,end,for k=1:256,    p(k)=a(k)/(2562);end,figure,stem(p);title('直方图');二对比度增强:直方图

10、均衡:原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而达到增强对比度的效果。参考程序:A,map=imread('e:lena.bmp');        imshow(A,map),                         

11、60;           title('原图');image=double(A);for i=1:256,    n(i)=0;end,for i=1:256,   for j=1:256,       s=image(i,j)+1;            n(s)=n(

12、s)+1;             end,end,for k=1:256,    p(k)=n(k)/(2562);end,figure,bar(p,'r');title('直方图');for k=1:256,    q(k)=0;end,for k=1:256,         for j=1:k,  

13、      q(k)=q(k)+p(j);    end,end,figure,bar(q,'y');title('累积直方图');N=256;for k=1:256,        o(k)=round(N-1)*q(k)+0.5);end,for i=1:256,    for j=1:256,        rimage

14、(i,j)=o(image(i,j);    endendfigure,imshow(uint8(rimage);title('均衡化后的图');for i=1:256,    n(i)=0;end,for i=1:256,   for j=1:256,       s=rimage(i,j)+1;            n(s)=n(s)+

15、1;             end,end,for k=1:256,    p(k)=n(k)/(2562);end,figure,bar(p,'b');title('均衡化的直方图');三图象平滑:中值滤波:中值滤波属于非线性平滑滤波器,它可以消除噪声又能保护图象的细节。参考程序:figure,A,map=imread('e:lena.bmp');     

16、;   %显示原图imshow(A,map),                                     title('原图');image=double(A);u=zeros(1,9);f

17、or i=2:255,   for j=2:255,      u(1)=image(i,j);u(2)=image(i,j+1);u(3)=image(i-1,j+1);      u(4)=image(i-1,j);u(5)=image(i-1,j-1);u(6)=image(i,j-1);      u(7)=image(i+1,j-1);u(8)=image(i+1,j);u(9)=image(i+1,j+1);

18、60;     for p=1:8,           for q=1:8-p,              if u(q)>u(q+1)               

19、60;  k=u(q);u(q)=u(q+1);u(q+1)=k;              end,          end,      end,      rimage(i,j)=u(5);   end,end, figure,imshow(r

20、image,map),title('中值滤波');四图象锐化:Sobel算子:是一种空域微分算子,可以通过它锐化图象。参考程序:A,map=imread('e:lena.bmp');        image=double(A);u=zeros(1,9);k=zeros(1,9);for i=2:255,   for j=2:255,      u(1)=0*image(i,j);u(2)=2*image(i,j+1);u(

21、3)=1*image(i-1,j+1);      u(4)=0*image(i-1,j);u(5)=-1*image(i-1,j-1);u(6)=-2*image(i,j-1);      u(7)=-1*image(i+1,j-1);u(8)=0*image(i+1,j);u(9)=1*image(i+1,j+1);      rimage1(i,j)=abs(sum(u);      k(1

22、)=0*image(i,j);k(2)=0*image(i,j+1);k(3)=1*image(i-1,j+1);      k(4)=2*image(i-1,j);k(5)=1*image(i-1,j-1);k(6)=0*image(i,j-1);      k(7)=-1*image(i+1,j-1);k(8)=-2*image(i+1,j);k(9)=-1*image(i+1,j+1);      rimage2(i,j)=abs(sum(

23、k);      xuhua(i,j)=rimage1(i,j)+rimage2(i,j);   end,end, figure,imshow(xuhua,map),title('Sobel锐化');五图象变换: 将图象分块(8*8),作DCT变换,并作IDCT:DCT是一种可分离图象变换,用来图象压缩编码,IDCT用来解压缩。参考程序:A,map=imread('e:lena.bmp');        %显示原图imsh

24、ow(A,map),                                     title('原图');image=double(A);N=8;for x=1,    a(x)=s

25、qrt(1/N);end,for x=2:8,    a(x)=sqrt(2/N);end,%dctrimage=zeros(8,8);for x=1:32,    for y=1:32,        for u=1:N,    for v=1:N,        for i=1:N,       

26、;     for j=1:N,                rimage(i,j)=image(i+(x-1)*8,j+(y-1)*8);                b(i,j)=rimage(i,j).*cos(2*(i-1)+1)*(u-1)*pi

27、/(2*N).*cos(2*(j-1)+1)*(v-1)*pi/(2*N);            end,        end,        d(u,v)=sum(sum(b,1),2);        C(u,v)=a(u).*a(v).*d(u,v); 

28、60;  end,end,xhimagex,y=C;end,end,aa=zeros(8,8);b1=zeros(256,256);for x=1:32,    for y=1:32,        aa=xhimagex,y;        for i=1:8,            for j=1:8,&

29、#160;               b1(i+(x-1)*8,j+(y-1)*8)=aa(i,j);             end,        end,    end,end,figure,imshow(uint8(b1);title(&#

30、39;DCT');参考程序:%idctfor x=1:32,    for y=1:32,        for i=1:N,    for j=1:N,        C=xhimagex,y;        for u=1:N,            for v=1:N,        

温馨提示

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

评论

0/150

提交评论