为什么我无法在OpenCV中创建并设置图片为背景?

1 投票
1 回答
787 浏览
提问于 2025-04-17 13:35

我现在在尝试这个:

    import cv2
    import cv2.cv as cv
    cv2.namedWindow(threeDWinName, cv2.CV_WINDOW_AUTOSIZE)
    img2 = cv.CreateImage((320, 240), 32, 1)
    cv2.imshow(threeDWinName,img2)

有没有人知道我哪里出错了?我收到的错误是 TypeError: <unknown> 不是一个 numpy 数组

谢谢大家

1 个回答

3

最近版本的OpenCV,也就是cv2,使用的是numpy数组来处理图像,而之前的版本cv则使用了OpenCV自己特有的Mat格式。在你的代码中,你是用旧版cv的函数CreateImage创建了一个图像,之后又想用新版的cv2.imshow来显示这个图像,但cv2.imshow其实是需要一个numpy数组的...

...所以你只需要导入numpy,然后把你的CreateImage那一行改成:

img2 = np.zeros((320,240),np.float32)

这样就可以正常工作了 :)

撰写回答