adjust brightness of an image with respect to another image.
5 次查看(过去 30 天)
显示 更早的评论
Is there some automatic function for that, something like imregister only to equalize the brightness between two images ? Thanks.
0 个评论
回答(3 个)
Walter Roberson
2012-6-15
The below might not look like it makes the brightnesses of the images the same, but mathematically it does the job, provided that you do not get saturation.
b1 = mean2(rgb2gray(Image1));
b2 = mean2(rgb2gray(Image2));
NewImage2 = Image2 + (b1-b2);
Image Analyst
2012-6-17
For the ultimate in histogram matching of grayscale images, see my histogram matching/shaping routine. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 You can't do better since it will provide as exact a match as is theoretically possible. (It's only slightly inexact when the image sizes are different, for obvious reasons. Ask if you don't know why.)
For a color image, I think the algorithm by Mark Grundland and Neil A. Dodgson is possibly the best algorithm out there: http://www.eyemaginary.com/Portfolio/ColorHistogramWarp.html
4 个评论
Thang Le
2016-2-25
Sorry for digging up an old post. I've looked at the custom-shaped histogram package and I'm not sure how to equalize the brightness and contrast across multiple images. I have 160 images with different levels of brightness and contrast and I would like to create a set of new 160 images from these with the same level of brightness and contrast. Image Analyst, could you help?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!