Attribute Error : none type object has no attribute ' shape '
Attribute Error : none type object has no attribute ' shape '
我一直在尝试从 raspberry pi
上的 piCamera 读取一些帧时遇到属性错误
这里是错误:
Traceback (most recent call last):
File "/home/pi/ball-tracking/ball_tracking.py", line 48, in <module>
frame = imutils.resize(frame, width=600)
File "/usr/local/lib/python2.7/dist-packages/imutils/convenience.py", line 45, in resize
(h, w) = image.shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'
if not args.get("video", False):
camera = cv2.VideoCapture(0)
else:
camera = cv2.VideoCapture(args["video"])
while True:
# grab the current frame
(grabbed, frame) = camera.read()
if args.get("video") and not grabbed:
break
似乎 frame
在这一行中被 return 编辑为 None
,就好像你的相机无法读取图像一样:
(grabbed, frame) = camera.read()
然后,当调整 None
对象的大小时,程序会像我们在错误消息 AttributeError: 'NoneType' object has no attribute 'shape'
:
中描述的那样崩溃
frame = imutils.resize(frame, width=600)
如 this thread 中所述,某些相机驱动程序可能会在第一帧中 return False, None
。一种可能的解决方法是验证 grabbed
是否为 False
并忽略此帧。
while True:
grabbed, frame = camera.read()
if not grabbed:
continue
# the rest of the program
'NoneType' 错误表示帧未传递给调整大小函数。
使用 cv2.capture 方法时,必须确保加载了正确的驱动程序,否则您将遇到相同的 NoneType 错误。
解决方法是手动添加驱动到etc/modules或者输入以下命令:
sudo modprobe bcm2835-v4l2
加载 V4L2 驱动程序的简单命令。
我一直在尝试从 raspberry pi
上的 piCamera 读取一些帧时遇到属性错误这里是错误:
Traceback (most recent call last):
File "/home/pi/ball-tracking/ball_tracking.py", line 48, in <module>
frame = imutils.resize(frame, width=600)
File "/usr/local/lib/python2.7/dist-packages/imutils/convenience.py", line 45, in resize
(h, w) = image.shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'
if not args.get("video", False):
camera = cv2.VideoCapture(0)
else:
camera = cv2.VideoCapture(args["video"])
while True:
# grab the current frame
(grabbed, frame) = camera.read()
if args.get("video") and not grabbed:
break
似乎 frame
在这一行中被 return 编辑为 None
,就好像你的相机无法读取图像一样:
(grabbed, frame) = camera.read()
然后,当调整 None
对象的大小时,程序会像我们在错误消息 AttributeError: 'NoneType' object has no attribute 'shape'
:
frame = imutils.resize(frame, width=600)
如 this thread 中所述,某些相机驱动程序可能会在第一帧中 return False, None
。一种可能的解决方法是验证 grabbed
是否为 False
并忽略此帧。
while True:
grabbed, frame = camera.read()
if not grabbed:
continue
# the rest of the program
'NoneType' 错误表示帧未传递给调整大小函数。 使用 cv2.capture 方法时,必须确保加载了正确的驱动程序,否则您将遇到相同的 NoneType 错误。
解决方法是手动添加驱动到etc/modules或者输入以下命令:
sudo modprobe bcm2835-v4l2
加载 V4L2 驱动程序的简单命令。