MATLAB影象均衡化處理
阿新 • • 發佈:2018-12-30
I=imread('office_2.jpg'); f = rgb2gray(I); figure subplot(221); imshow(f); L=256; M=zeros(256,1); p=zeros(256,1); c=zeros(256,1); [m n]=size(f); for i=1:m for j=1:n M(f(i,j)+1)=M(f(i,j)+1)+1; end end for i=1:256; p(i)=M(i)/(m*n); end subplot(222); bar(p); for i=1:256 for j=1:i c(i)=c(i)+p(j); end end max=0; min=0; for i=1:m for j=1:n if(max<f(i,j)) max=f(i,j); else if(min>f(i,j)) min=f(i,j); end end end end for i=1:m for j=1:n K(i,j)=c(f(i,j)+1)*(max-min)+min; end end subplot(223); imshow(K); for i=1:m for j=1:n M(f(i,j)+1)=M(f(i,j)+1)+1; end end for i=1:256; p(i)=M(i)/(m*n); end subplot(224); bar(p);