文档详情

MATLAB图像直方图及均衡化处理报告.doc

发布:2017-12-29约1.3千字共4页下载文档
文本预览下载声明
电信 信息工程3班 卢国梁 200730213246 23 1、用matlab作出图像的直方图 clear; I=imread(2222.jpg); I=rgb2gray(I); add=[]; tab1=zeros(1,256); for n=0:255 X=I==n; add=[add;sum(sum(X))]; end; [a,b]=size(I); final=add/(a*b); figure; stem(final,Marker,none); figure(2) imshow(I) 2、用matlab实现图像的直方图均衡化 均衡化前 均衡化后 程序: clear; I=imread(2222.jpg); I=rgb2gray(I); I2=I; add=[]; add1=[]; tab1=zeros(1,256); tab2=zeros(1,256); for n=0:255 X=I==n; add=[add;sum(sum(X))]; end; [a,b]=size(I); final=add/(a*b); for n=1:256 for i=1:n tab1(n)=tab1(n)+final(i); end; end; tab1=tab1*255; tab2=round(tab1); for n=1:a for m=1:b for t=0:255 if I(n,m)==t I2(n,m)=tab2(t+1); end; end; end; end; for n=0:255 X1=I2==n; add1=[add1;sum(sum(X1))]; end; [a1,b1]=size(I2); final1=add1/(a1*b1); figure; stem(final,Marker,none); figure(2) imshow(I2); figure(3) stem(final1,Marker,none) 均衡化后直方图 实验心得体会:这次先是把老师的课件都看了一次,知道了各种方法,包括多幅图像去噪声啊,中值滤波啊等等,看了一些参考的程序,请教了同学,就写了这么几个程序,中间遇到了一些问题,比如在均衡化的时候判断的时候用错了序列,结果图像处理之后变得更加难看,思量着不可能越处理越糟糕,就里里外外看了好久的程序,毕竟是当局者,看不出来,请教了同学帮忙看错误,才找出了那个错误:if I(n,m)==add(t);I2(n,m)=tab2(t+1);后来改为if I(n,m)==t;I2(n,m)=tab2(t+1);图像也好看很多了!
显示全部
相似文档