2015-05-21 4 views
1

Я пытаюсь объединить два изображения в OpenCV, используя cv2.addweighted(), но я хотел бы указать другой альфа-вес для каждого пикселя вместо одного веса для всех пикселей. Возможно ли это сделать в OpenCV или мне нужно написать свою собственную медленную функцию.В OpenCV вы можете иметь вес на пиксель с addWeighted?

ответ

1

Вы можете использовать cv::MatExpr::mul() function (Python эквивалент), чтобы написать что-то вроде:

cv::Mat C = A.mul(W1) + B.mul(W2); 
+0

не уверен, питона, но в C++ вы бы вес и изображение, чтобы иметь тот же формат элемента, который обычно включает в себя новообращенных и канальные операции расщепления/объединения, что очень раздражает. – Micka

+0

@ Микка: Правда. Если 'W1' и' W2 являются одноканальными, а 'A' ​​и' B' являются, скажем, 3-каналами, вам нужно будет преобразовать 'W' в тот же формат. –