(-215:Утверждение не выполнено) !_src.empty() в функции ‘cv::cvtColor’ при вводе видеофайла

#python #opencv #jupyter-notebook

Вопрос:

  • Версия Python : 3.8.3
  • версия распознавания лиц : 4.5.1
  • IDE : Ноутбук Jupyter

Описание

У меня возникли проблемы с запуском этой программы, ошибка ниже

 gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
 

cv2.ошибка: OpenCV(4.1.0) C:projectsopencv-pythonopencvmodulesimgprocsrccolor.cpp:182: ошибка: (-215:Утверждение не выполнено) !_src.empty() в функции ‘cv::cvtColor’

Когда я запускаю этот код, воспроизводится видео. И когда видео заканчивается, возникает эта ошибка

Вот мой код

 import cv2
import numpy as np
cap = cv2.VideoCapture(r"D:JupyterNotebook_DOCKETI_SL_0000000001.avi")
while(True):
    #capture frame by frame
    ret, frame = cap.read()
    #Convert the vedeo into BGR video without color
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    #Display the resulting frame
    cv2.imshow('Frame', frame)
    
    #Press Q on keyboard to exit
    if cv2.waitKey(25) amp; 0xFF == ord('q'):
        break
#when everything done, release the videocapture object
cap.release()
#closes all the frames
cv2.destroyAllWindows()
 

Комментарии:

1. Либо ваш путь к видео ошибочен, либо его невозможно прочитать, поэтому вы не получаете кадров для преобразования в серый цвет. Проверьте свой путь и то, что видео хорошее, и может ли OpenCV читать формат AVI.

2. проверь ret !!!!!