【问题标题】:opencv-python: is not a numpy arrayopencv-python:不是一个 numpy 数组
【发布时间】:2013-01-25 02:24:36
【问题描述】:

我想使用当前数组作为在帧图像中进行模糊操作的输出数组,我得到这个错误:

TypeError: <unknown> is not a numpy array

我已经检查过了,两者都是相同大小和类型的数组,我不明白为什么会这样。

部分代码:

previous = np.zeros((frameHeight,frameWidth,3),np.uint8) #blank image with 640x480 and 3 channels
difference = np.zeros((frameHeight,frameWidth,3),np.uint8)
current = np.zeros((frameHeight,frameWidth,3),np.uint8)

while True:
    # Capture a frame
    flag,frame = capture.read()
    cv2.flip(frame, flipCode=1)

    # Difference between frames
    cv2.blur(frame, current, (15,15))

【问题讨论】:

    标签: python arrays opencv numpy


    【解决方案1】:

    cv2.blur 的参数(如 in the documentation 所述)如下:

    cv2.blur(src, ksize[, dst[, anchor[, borderType]]]) → dst
    

    所以,我认为你的意思是

    current= cv2.blur(frame, (15,15))
    

    【讨论】:

    • 哦,谢谢!我习惯使用较旧的 cv one 而不是 cv2,然后我就犯了这样的错误.. 感谢您的帮助
    • @user1832231 没问题。如果没有什么可添加到答案中,请确保将其标记为已接受(旁边有一个绿色复选框)。由于您刚刚开始使用 SO,您可能想要read the faq
    【解决方案2】:

    您可能已使用 cv2.imreadcv.CreateImage 插入打开图像 只有使用 imread 打开图片才能使用 imwrite。

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多