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
。还有什么特别的原因不接受我的回答吗?好的,谢谢。我不接受它,因为我无法让它工作,所以我认为它错了。现在解开。