数字图像处理 MATLAB方法.doc

上传人:ni****g 文档编号:542445001 上传时间:2023-12-26 格式:DOC 页数:9 大小:86.51KB
返回 下载 相关 举报
数字图像处理 MATLAB方法.doc_第1页
第1页 / 共9页
数字图像处理 MATLAB方法.doc_第2页
第2页 / 共9页
数字图像处理 MATLAB方法.doc_第3页
第3页 / 共9页
数字图像处理 MATLAB方法.doc_第4页
第4页 / 共9页
数字图像处理 MATLAB方法.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《数字图像处理 MATLAB方法.doc》由会员分享,可在线阅读,更多相关《数字图像处理 MATLAB方法.doc(9页珍藏版)》请在金锄头文库上搜索。

1、 图像处理 一计算图像统计参数:最大值:扫描法:设第一个象素灰度级为最大值,然后与后一个象素灰度级比较,如果后面的大,则把后一象素值赋给最大值,依次逐一比较到图象最后的一个象素,找出最大值。程序:A,map=imread(E:lena.bmp); %显示原图imshow(A,map), title(原图);image=double(A);%求负片k=image(1,1);for i=1:256, for j=1:256, if kimage(i,j); k=image(i,j);end, end,end,k%显示负片figure,imshow(rimage,map),title(负片);均值:

2、把图中的所有的象素值累加起来再除以图象的象素的个数。程序:A,map=imread(E:lena.bmp); %显示原图imshow(A,map), title(原图);image=double(A);%求负片k=image(1,1);for i=1:256, for j=1:256, if kimage(i,j); k=image(i,j);end, end,end,k%显示负片figure,imshow(rimage,map),title(负片);直方图:把图中的不同灰度等级的象素分别累加起来,再分别除以图象象素的总数。即:p(sk)=nk/n。可以得到原图的灰度值分布图。参考程序:A,m

3、ap=imread(e:lena.bmp); imshow(A,map), title(原图);image=double(A);for i=1:256, a(i)=0;end,for i=1:256, for j=1:256, 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(直方图);二对比度增强:直方图均衡:原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而达到增强对比度的效果。程序:A,map=imread(e:lena.bmp);

4、imshow(A,map), 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(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, q(k)=q(k)+p(j); end,end,figure,bar(q,y);title(累积直方图);N=256;for

5、k=1:256, o(k)=round(N-1)*q(k)+0.5);end,for i=1:256, for j=1:256, rimage(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)+1; end,end,for k=1:256, p(k)=n(k)/(2562);end,figure,bar(p,b);title(均衡化的直方图);三图象平滑:中值

6、滤波:中值滤波属于非线性平滑滤波器,它可以消除噪声又能保护图象的细节。参考程序:figure,A,map=imread(e:lena.bmp); %显示原图imshow(A,map), title(原图);image=double(A);u=zeros(1,9);for 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

7、(i+1,j);u(9)=image(i+1,j+1); for p=1:8, for q=1:8-p, if u(q)u(q+1) k=u(q);u(q)=u(q+1);u(q+1)=k; end, end, end, rimage(i,j)=u(5); end,end, figure,imshow(rimage,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

8、j=2:255, u(1)=0*image(i,j);u(2)=2*image(i,j+1);u(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)=0*image(i,j);k(2)=0*image(i,j+1);k(3)=1*image(i-1,j+1); k(4)=2*image(

9、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(k); xuhua(i,j)=rimage1(i,j)+rimage2(i,j); end,end, figure,imshow(xuhua,map),title(Sobel锐化);五图象变换: 将图象分块(8*8),作DCT变换,并作IDCT:DCT是一种可分离图象变换,用来图象压缩编码,IDCT用来解压缩。参考程序:

10、A,map=imread(e:lena.bmp); %显示原图imshow(A,map), title(原图);image=double(A);N=8;for x=1, a(x)=sqrt(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, 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/(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); 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, b1(i+(x-1)*8,j+(y-1)*8)=aa(i,j); end,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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