Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

AttributeError: 'NoneType' object has no attribute 'shape'

Hi all! I need your help regarding the following code. My goal is to read and show the video with a resolution modification.


import cv2

cap = cv2.VideoCapture("C:/Users/user/Desktop/Foot_Detection/ball_tracking_example.mp4")

def rescale_frame(frame, percent=30): width = int(frame.shape[1] * percent/ 100) height = int(frame.shape[0] * percent/ 100) dim = (width, height) return cv2.resize(frame, dim, interpolation =cv2.INTER_AREA)

if (cap.isOpened() == False): print("Error opening video stream or file")

while (cap.isOpened()): # Capture frame-by-frame ret, frame = cap.read()

frame = rescale_frame(frame, percent=30) if ret == True:

cv2.imshow('Frame', frame)

if cv2.waitKey(25) & 0xFF == ord('q'): break

else: break

cap.release()

cv2.destroyAllWindows()

After executing the above code, the video displayed on my screen till the end. However, I have got the following error:


Traceback (most recent call last):
  File "C:/Users/user/Desktop/Foot_Detection/FootDetection.py", line 24, in <module>
    frame = rescale_frame(frame, percent=30)
  File "C:/Users/user/Desktop/Foot_Detection/FootDetection.py", line 10, in rescale_frame
    width = int(frame.shape[1] * percent/ 100)
AttributeError: 'NoneType' object has no attribute 'shape'
 

I tried to install the codec for mp4 and to the video path is correct. Could you please assist me in this matter? Thank you in advance.