2016-03-01 9 views
0

Я использую OpenCV для смешивания набора предварительно искаженных изображений. В качестве ввода у меня есть некоторые 4-канальные изображения (* .png или * .tif), откуда я могу извлечь изображение bgr и альфа-маску с областью, связанной с изображением (белый) и фоном (черный). Оба изображения и маска являются входами модуля Blender cv::detail::Blender::blend.Смешивание артефактов в сшивании изображений OpenCV

Когда я использую сочетание пера (альфа), результат в порядке, однако, я бы хотел избежать эффектов ореолов. При использовании многодиапазонного, некоторые артефакты появляются по краям изображений:

enter image description here

Проблема похожа на один подняла here, и решена here. Дело в том, что если решение создает двоичную маску (которую я уже извлекаю из альфа-канала), это не работает для меня. Если я добавлю добавку к овелапу между обоими изображениями, он берет пиксели из фона и еще больше увеличивает результат.

Я думаю, что, вероятно, это связано с функциями pyrUp и pyrDown, потому что возможно размывание создать гауссовых и лапласианом пирамиды налагается ко всему изображению, а не только к положительному альфа региона. В любом случае, я не знаю, как исправить проблему, используя эти функции, и я не могу найти другое эффективное решение.

Когда я использую другую реализацию мультирезистентного смешивания, он отлично работает, однако я очень заинтересован в интеграции многополосной реализации OpenCV. Любая идея, как исправить эту проблему?

ответ