Python 不支持OpenCV-Type=17

Python 不支持OpenCV-Type=17,python,opencv,Python,Opencv,好吧,这太奇怪了。。我十分肯定我的代码是正确的 img = ImageGrab.grab(bbox=(gameWindow[0], gameWindow[1], gameWindow[0], gameWindow[1])) img_np = np.array(img) frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB) cv2.imshow("f", frame) cv2.waitKey(0) cv2.destroyAllWindows() 但它让

好吧,这太奇怪了。。我十分肯定我的代码是正确的

img = ImageGrab.grab(bbox=(gameWindow[0], gameWindow[1], gameWindow[0], gameWindow[1]))
img_np = np.array(img)
frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)

cv2.imshow("f", frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
但它让我犯了这样一个错误:

frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)
TypeError: src data type = 17 is not supported

哇,我真的很困惑。

你能试试
img\u np=np.array(img.getdata(),dtype='uint8')
?因为numpy无法轻松地将
图像
转换为
np.array
。返回一个类似序列的对象,以便将其转换为numpy数组。

也许
img\u np=np.array(img,np.uint8)
?@QuangHoang-Welp现在出现了一个新错误
TypeError:int()参数必须是字符串、类似字节的对象或数字,而不是“Image”
我不太确定ImageGrab,但是bbox在我看来不是很好。无论如何,这可能不是您出错的原因。@QuangHoang否则您将如何拍摄屏幕截图并使用cv2显示?您正在将相同的左上角和右下角传递给bbox。那会返回一个空图像吗?