function MergeExposures(Dest: TIEBitmap; AlignImages: Boolean = False; ContrastWeight: Single = 1.0; SaturationWeight: Single = 1.0; Gamma: Single = 1.0): Boolean;
Description
A shortcut method that creates a TIEVisionExposureMerger object and calls run to combine images of different exposures into a single tone-mapped HDR image.
Parameter
Description
Dest
The bitmap that will be assigned the resulting image (must be created before calling)
AlignImages
If True the algorithm tries to align the images
ContrastWeight
Contrast measure weight (>0.0)
SaturationWeight
Saturation measure weight (>0.0)
Gamma
Gamma correction (1 = linear map)
When the TIEMultiBitmap is attached to a TImageEnMView: ◼If Checkboxes are enabled, only checked images will be included. An exception is raised if there are no checked items ◼If StoreType is not ietNormal, an attempt is made to load full quality images from file. An exception is raised if the files cannot be accessed
Note: ◼You must add the iexHelperFunctions unit to your uses clause ◼Delphi/C++ 2005 or newer is required to use helper classes ◼Exposure merging requires IEVision. You will need to register it before calling the method ◼If Dest is attached to a TImageEnView, it will automatically call Update
Method Behaviour
The following call: ImageEnMView1.IEMBitmap.MergeExposures( ImageEnView1.IEBitmap, AlignImagesCheckBox.Checked, StrToFloatDef( EditContrastWeight.Text, 1.0 ), StrToFloatDef( EditSaturationWeight.Text, 1.0 ), StrToFloatDef( EditGamma.Text, 1.0 ));
Is the same as calling: merger := IEVisionLib().createExposureMerger(); for i := 0 to ImageEnMView1.ImageCount - 1 do begin bmp := ImageEnMView1.GetTIEBitmap( i, True ); merger.addImage( IEVisionLib.createImage( bmp.GetIEVisionImage() )); ImageEnMView1.ReleaseBitmap( i, False ); end;
// Merge the exposures of all the images in ImageEnMView1 and display the result in ImageEnView1 ShowTempHourglass(); ImageEnMView1.IEMBitmap.MergeExposures( ImageEnView1.IEBitmap );
// Merge the exposures of 3 image files mbmp := TIEMultiBitmap.Create(); mbmp.FillFromList( ['D:\image1.png', 'D:\image2.png', 'D:\image3.png'] ); mbmp.MergeExposures( ImageEnView1.IEBitmap ); mbmp.Free;