File Exchange

image thumbnail

Multi-Exposure Image Fusion Based on Illumination Estimation

version (1.67 MB) by Vassilios Vonikakis
A function for fusing two or more differently exposed images of a High Dynamic Range (HDR) scene.


Updated 10 Jun 2016

View Version History

View License

Fuses images of type 'image_type', located inside the folder specified by 'imagepath', adding local contrast enhancement defined by 'contrast', as well as gamma correction defined by 'gamma'
imagepath: string - path of the folder containing the different exposures
image_type: string - image file format 'jpg', 'png' etc. All should be color images!
contrast: double in the range [0,100] - degree of local contrast compensation
gamma: logical - enable gamma compensation for the total overexposed and total underexposed images
verbose: logical - display intermediate results
All images must be of the same size and format!
Based on the following publications. Please cite if used for academic purposes
1. Vonikakis, V., Bouzos, O. & Andreadis, I. (2011). Multi-Exposure Image Fusion Based on Illumination Estimation, IPA2011 (pp.135-142), Heraklion, Crete, Greece.
2. Vonikakis, V., & Andreadis, I. (2008). Multi-Scale Image Contrast Enhancement. ICARCV 2008. (pp. 385-391). Hanoi, Vietnam.
This method is also available as a Windows executable and is part of the Orasis software, freely available in:

Cite As

Vassilios Vonikakis (2021). Multi-Exposure Image Fusion Based on Illumination Estimation (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)


The brutal clearing of everything on top of the example function is not nice.

Prefer FULLFILE to concatenate file names from the folder and the name, because this considers e.g. the trailing separator for 'C:\'.

Please mention, that the Image Processing Toolbox is required, to run the code.

The code can be cleaned at some points, e.g.:

IM = temp;
for n=1:totalimages
clear temp;

can be replaced by teh more efficient:

IM = temp(:, :, :, idx);

The line "s=size(im(:,:,1));" can be omitted.
Meaningful comments in the code would help to estimate, if the code does what it advertises. E.g. the conversion of the "contrast" at the beginning looks suspicious: While for the input 99.99 the internal value of "contrast" is 1.6668 as expected, for the input 100 the value is 1000. If this is wanted or a bug cannot be distinguished due to the lack of comments.

Using teh standard style for the help section would support the HELP command, such that the users can work with the code as with standard Matlab functions.

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!