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”转换为相同的格式。 –