% gray average syms min_gray max_gray k b ; double tmp; b=-10; min_gray=255; max_gray=0; img=imread('c:\gray.jpg'); img_size=size(img); img_gray=zeros( size(img),'uint8'); %img_hist=zeros( size(img),'uint8'); %img_gray_hist=zeros( size(img),'uint8'); for i=1:img_size(1) for j=1:img_size(2) if img(i,j)>max_gray max_gray=img(i,j); end
if img(i,j)<min_gray min_gray=img(i,j); end
end end
k=double((255-0)/( double(max_gray)- double(min_gray)));% 计算直线斜率 b=-1*(k* double(min_gray));%计算截距 %k=2.1; for i=1:img_size(1) for j=1:img_size(2) % img_gray(i,j)=uint8( 5.3125.*img(i,j)-478.13 ); tmp=double( img(i,j)); img_gray(i,j)=uint8(k*tmp+b);% 灰度平均化 end end