Performing a HDR Fusion Using the Default Algorithm

Performing a HDR Fusion Using the Default Algorithm.

C++

#include <eVision/EasyImage/EHDRFusion.h>
using namespace eVision;

std::vector<EImageC24> images;
images.resize(7);
images[0].Load(R"(Sample Images\EasyImage\HDR\sheep12.jpg)");
images[1].Load(R"(Sample Images\EasyImage\HDR\sheep25.jpg)");
images[2].Load(R"(Sample Images\EasyImage\HDR\sheep50.jpg)");
images[3].Load(R"(Sample Images\EasyImage\HDR\sheep125.jpg)");
images[4].Load(R"(Sample Images\EasyImage\HDR\sheep250.jpg)");
images[5].Load(R"(Sample Images\EasyImage\HDR\sheep500.jpg)");
images[6].Load(R"(Sample Images\EasyImage\HDR\sheep1000.jpg)");

EImageC24 result;
result.SetSize(&images.back());

EHDRFusion fusion; // by default, the fuser uses a merger that uses the Mertens algorithm, and a linear tone-mapper
fusion.Fuse(images, result); // thus, requiring no other parameters than the images themselves

C#

using eVision;
EImageC24[] images = new EImageC24[7] { new EImageC24(), new EImageC24(), new EImageC24(), new EImageC24(), new EImageC24(), new EImageC24(), new EImageC24() };
images[0].Load(@"Sample Images\EasyImage\HDR\sheep12.jpg");
images[1].Load(@"Sample Images\EasyImage\HDR\sheep25.jpg");
images[2].Load(@"Sample Images\EasyImage\HDR\sheep50.jpg");
images[3].Load(@"Sample Images\EasyImage\HDR\sheep125.jpg");
images[4].Load(@"Sample Images\EasyImage\HDR\sheep250.jpg");
images[5].Load(@"Sample Images\EasyImage\HDR\sheep500.jpg");
images[6].Load(@"Sample Images\EasyImage\HDR\sheep1000.jpg");

EImageC24 result = new EImageC24();
result.SetSize(images[0]);

EHDRFusion fusion = new EHDRFusion(); // by default, the fuser will use a merger that uses the Mertens algorithm, and a linear tone-mapper
fusion.Fuse(images, result); // thus, requiring no other parameters than the images themselves

Python

import eVision

images = [ eVision.EImageC24(), eVision.EImageC24(), eVision.EImageC24(), eVision.EImageC24(), eVision.EImageC24(), eVision.EImageC24(), eVision.EImageC24() ]
images[0].Load("Sample Images/EasyImage/HDR/sheep12.jpg")
images[1].Load("Sample Images/EasyImage/HDR/sheep25.jpg")
images[2].Load("Sample Images/EasyImage/HDR/sheep50.jpg")
images[3].Load("Sample Images/EasyImage/HDR/sheep125.jpg")
images[4].Load("Sample Images/EasyImage/HDR/sheep250.jpg")
images[5].Load("Sample Images/EasyImage/HDR/sheep500.jpg")
images[6].Load("Sample Images/EasyImage/HDR/sheep1000.jpg")

result = eVision.EImageC24()
result.SetSize(images[0])

fusion = eVision.EHDRFusion() # by default, the fuser will use a merger that uses the Mertens algorithm, and a linear tone-mapper
fusion.Fuse(images, result) # thus, requiring no other parameters than the images themselves