Opencv - наложение изображения без cvAddWeighted - PullRequest
0 голосов
/ 26 ноября 2011

Есть множество учебных пособий, показывающих, как смешивать два изображения в opencv:

Но всеони основаны на этом уравнении:

opencv blending http://opencv.itseez.com/_images/math/afeb868ed1632ace1fe886b5bfbb6fd933b742b8.png

, что означает, что я буду комбинировать два изображения путем их усреднения, и, следовательно, я буду теряя интенсивность на обоих изображениях.

Например, пусть alpha = 0,5, f0 (x) = 255 и f1 (x) = 0 .После применения этого уравнения результирующее изображение g (x) = 127 .Это не то, что мне нужно.Первое изображение должно остаться без изменений.И прозрачность должна быть применена во втором.

Моя проблема:

первое изображение f0 (x) не должно быть изменено, и альфа должна быть примененако второму изображению f1 (x), когда оно перекрывает первое изображение f0 (x).

Я не могу понять, как это сделать.Любая помощь?

1 Ответ

0 голосов
/ 26 ноября 2011

К сожалению, альфа-каналы не поддерживаются OpenCV. Из imread документации:
Обратите внимание, что в текущей реализации альфа-канал, если он есть, удаляется из выходного изображения. Например, 4-канальное изображение RGBA загружается как RGB, если flags > 0.

См. этот ТАК пост о возможном обходе использования imagemagick.

Надеюсь, что это полезно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...