Когда я запускаю HDR Mertens fusion в Python, я получаю странный цветной артефакт, который я не получаю, когда я запускаю ту же самую функцию в C++. (Я просто запустил HDR Tutorial)OpenCV MergeMertens дает разные результаты в Python Vs. C++
Мне кажется, что некоторые проблемы с типами данных, но я пробовал каждый вариант и ничего не работает. Я делаю что-то неправильно?
Я запускаю Python 3.5 64-bit с OpenCV 3.0.0.
экспозиции изображения были взяты из Википедии:1/30 sec, 1/4 sec, 2.5 sec, 15 sec. Код
Питон:
import cv2
import numpy as np
img_fn = ["640px-StLouisArchMultExpEV+4.09.jpg",
"640px-StLouisArchMultExpEV+1.51.jpg",
"640px-StLouisArchMultExpEV-1.82.jpg",
"640px-StLouisArchMultExpEV-4.72.jpg"]
img_list = [cv2.imread(fn) for fn in img_fn]
# Exposure fusion using Mertens
mergeMertens = cv2.createMergeMertens()
resFusion = mergeMertens.process(img_list)
# Convert datatype to 8-bit and save
resFusion_8bit = np.uint8(resFusion*255)
cv2.imwrite("fusion.png", resFusion_8bit)
В результате я получаю в Python:
В результате я получаю в C++: