行,列,_ = frame.shape AttributeError:“ tuple”对象没有属性“ shape”

问题描述

我正在尝试运行代码,但这给了我这个错误

行,列,_ = frame.shape AttributeError:“元组”对象没有属性“ shape”

我正在使用OpenCV和python 3.6,我也安装了NumPy。该应用程序正在使用相机获取帧并检测眼睛。 错误在这里

  import cv2
  import numpy as np
  import dlib
  cap = cv2.VideoCapture(0)

 while True:

frame = cap.read()
#frame = cv2.resize(frame,None,fx=0.8,fy=0.8)
rows,cols,_ = frame.shape
keyboard[:] = (26,26,26)
frames += 1
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

能帮我吗?

谢谢

解决方法

cap.read()返回两个值的元组。根据是否正确读取帧,第一个值为True / False,第二个值为frame数组。在您的情况下,您将必须使用frame = cap.read()[1]