Path: blob/master/ExposureFusion/exposureFusion.py
3118 views
import cv21import numpy as np2import sys345def readImagesAndTimes():67filenames = [8"images/memorial0061.jpg",9"images/memorial0062.jpg",10"images/memorial0063.jpg",11"images/memorial0064.jpg",12"images/memorial0065.jpg",13"images/memorial0066.jpg",14"images/memorial0067.jpg",15"images/memorial0068.jpg",16"images/memorial0069.jpg",17"images/memorial0070.jpg",18"images/memorial0071.jpg",19"images/memorial0072.jpg",20"images/memorial0073.jpg",21"images/memorial0074.jpg",22"images/memorial0075.jpg",23"images/memorial0076.jpg"24]2526images = []27for filename in filenames:28im = cv2.imread(filename)29images.append(im)3031return images3233if __name__ == '__main__':3435# Read images36print("Reading images ... ")3738if len(sys.argv) > 1:39# Read images from the command line40images = []41for filename in sys.argv[1:]:42im = cv2.imread(filename)43images.append(im)44needsAlignment = False45else :46# Read example images47images = readImagesAndTimes()48needsAlignment = False4950# Align input images51if needsAlignment:52print("Aligning images ... ")53alignMTB = cv2.createAlignMTB()54alignMTB.process(images, images)55else :56print("Skipping alignment ... ")5758# Merge using Exposure Fusion59print("Merging using Exposure Fusion ... ");60mergeMertens = cv2.createMergeMertens()61exposureFusion = mergeMertens.process(images)6263# Save output image64print("Saving output ... exposure-fusion.jpg")65cv2.imwrite("exposure-fusion.jpg", exposureFusion * 255)6667686970