/SNUCam

Android Camera Application for Exposure Fusion Algorithm and more

Primary LanguageJava

Improving Exposure Fusion Algorithm for High Dynamic Range (HDR) Imaging

paper

poster

image

Introduction

  • digital cameras have a limited dynamic range, which is lower than one encounters in the world
  • in high dynamic range scenes, a picture will often turn out to be under- or overexposed
  • Exposure Fusion has been proposed to skip the steps of tone mapping by computing a perceptual quality measure for each pixel which encodes desirable qualities

Exposure Fusion

  • assume images are perfectly aligned, possibly using registration algorithm
  • for each pixel, combine the information from different measures (contrast, saturation, well-exposedness) into a scalar weight map using multiplication.
  • weighting exponents being ω, i,j,k refers to pixel (i,j) in the k-th image

image

image

image

image

  • normalize the values of the N weight maps such that they sum to one at each pixel (i,j)
  • resulting image R can be obtained by a weighted blending of the input images I
# pseudo-code of Merten's Exposure Fusion Algorithm
C = scale(contrast(images))
S = scale(saturation(images))
W = scale(well-exposedness(images))

Quality_measure = computeWeightMap(C,S,W)

for each image I in the images do 
  pyr = Laplacian_pyr(I)
  pyrG = Gaussian_pyr(Quality_measure)
  for level L in the number of levels do 
    R[L] = pyr[L] * pyrG[L]
  end for
end for