gpt4 book ai didi

python - 在执行下面的代码时,我得到了这个 'TypeError: img is not a numerical tuple'

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:51 26 4
gpt4 key购买 nike

    import cv2
ram_frames=30
cam = cv2.VideoCapture(0)
def get_image():
cap = cam.read()
return cap
for i in xrange(ramp_frames):
temp = get_image()
image = get_image()
cv2.imwrite('bin/color.jpg',image)

我得到的错误是:

File "C:\modules\imlib.py", line 1035, in __init__
self.imin = self.WinWebCam()
File "C:\modules\imlib.py", line 1125, in WinWebCam
cv2.imwrite('bin/color.jpg',image)
TypeError: img is not a numerical tuple

我所做的一切都是正确的,我没有更改任何代码,在单独的程序中执行时没有显示任何错误,但在我的代码中运行时显示错误。我复制的代码来自this link

最佳答案

您在复制时更改了代码。显然,cam.read() 返回一个元组。来自文档:

Python: cv2.VideoCapture.read([image]) → retval, image

您将返回 retvalimage 的整个元组,而该示例仅返回它的第二部分(图像)。因此,第 9 行中的 image 变量包含 read() 返回的完整元组,而该示例仅返回它的第二部分。 imwrite 然后失败,因为它不期望元组作为参数。

尝试像这样更改您的代码:

def get_image():
_, cap = cam.read()
return cap

或者,甚至更好,

def get_image():
return cam.read()[1]

此外,您在第 2 行中将变量 ramp_frames 拼错为 ram_frames

关于python - 在执行下面的代码时,我得到了这个 'TypeError: img is not a numerical tuple',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36153963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com