Python 为什么可以';我是否创建一个图像并将其设置为OpenCV中的背景?

Python 为什么可以';我是否创建一个图像并将其设置为OpenCV中的背景?,python,opencv,computer-vision,Python,Opencv,Computer Vision,所以,这就是我正在尝试的: 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:不是numpy数组 感谢最新版本的OpenCV,cv2使用nu

所以,这就是我正在尝试的:

    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:不是numpy数组


感谢

最新版本的OpenCV,
cv2
使用numpy数组进行图像处理,之前版本的
cv
使用了OpenCV的特殊Mat。在您的代码中,您已经使用旧的
cv
函数
CreateImage
创建了一个图像作为
Mat
,然后尝试使用新的
cv2.imshow
函数查看它,但是
cv2.imshow
需要一个numpy数组

…因此,您只需导入numpy,然后将
CreateImage
行更改为:

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

然后应该很好:)

除了cv2和cv之外,我还需要导入什么库?@Sam Heather-嘿,你还需要
将numpy导入为np
,这是一个强大的数值/数学库,它真的很棒。除了使用numpy数组,还有其他选择吗?为什么我不能将空白背景渲染为createImg对象?@Sam Heather-是的,您可以通过只使用旧的
cv
来避免
Numpy
,因此在代码中保留
cv.CreateImage
,并使用
cv.ShowImage('threeDWinName',img2);cv.WaitKey(0)
而不是
imshow
。还有什么特别的原因不接受我的回答吗?好的,谢谢。我不接受它,因为我无法让它工作,所以我认为它错了。现在解开。