1
我想在OpenCV中使用cv2.addweighted()混合兩個圖像,但我想爲每個像素指定一個不同的alpha權重,而不是所有像素的一個權重。是否有可能在OpenCV中做到這一點,或者我必須編寫自己的慢速函數。在OpenCV中,您可以通過addWeighted獲得每像素的權重嗎?
我想在OpenCV中使用cv2.addweighted()混合兩個圖像,但我想爲每個像素指定一個不同的alpha權重,而不是所有像素的一個權重。是否有可能在OpenCV中做到這一點,或者我必須編寫自己的慢速函數。在OpenCV中,您可以通過addWeighted獲得每像素的權重嗎?
可以使用cv::MatExpr::mul()
function(Python的當量)寫類似:
cv::Mat C = A.mul(W1) + B.mul(W2);
不知道蟒蛇,但在C++中,你將有重量和圖像有相同的元素格式,通常包括轉換和頻道分割/合併操作,這是非常煩人的。 – Micka
@Micka:對。如果「W1」和「W2」是單聲道,「A」和「B」是3聲道,則需要將「W」轉換爲相同的格式。 –