首页 > 解决方案 > OpenCV 错误:(addWeighted)操作既不是“数组操作数组”

问题描述

我从事的项目使用opencv在网络摄像头上获取图像错误以“addWeighted”函数开头

由于图片格式不同,我发现这个功能有些错误,我打印了两张图片的大小和通道(720,1280,3)(720,1280,3)我不知道哪里出了问题这里有一部分我的代码

transparentImg = cv2.imread("transparentImg.png")

##.......##
output = transparentImg.copy()
while True:
    ref, img = cam.read()
    print(output.shape)
    print(transparentImg.shape)
    cv2.addWeighted(transparentImg, alpha, img, 1 - alpha,0, output)
    cv2.imshow('image', output)
    if cv2.waitKey(20) == 27:
        break
cv2.destroyAllWindows()

结果: (720, 1280, 3) (720, 1280, 3)

Traceback(最近一次调用最后): cv2.addWeighted(transparentImg, alpha, img, 1 - alpha,0, output) cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\core \src\arithm.cpp:669: error: (-209:Sizes of input arguments do not match) 该操作既不是'array op array'(其中数组具有相同的大小和相同的通道数),也不是'array函数'cv::arithm_op'中的操作标量',也不是'标量操作数组'

标签: pythonarraysopencv

解决方案


推荐阅读