image thumbnail
from MATLAB FOTOSHOP by Divakar Roy
Inspired By Adobe Photoshop

output_img=autobrightness(input_image)
function output_img=autobrightness(input_image)

my_limit=0.5;
if size(input_image,3)==3 a=rgb2ntsc(input_image);
else     a=double(input_image)./255;
end
mean_adjustment=my_limit-mean(mean(a(:,:,1)));
a(:,:,1)=a(:,:,1)+mean_adjustment*(1-a(:,:,1));
if size(input_image,3)==3    a=ntsc2rgb(a);
end
output_img=uint8(a.*255);

Contact us at files@mathworks.com