cv2.Videocapture () fonctionne correctement lors de l'utilisation de la webcam, mais en essayant de lire à partir du disque dur, il indique l'erreur cap.isOpened () renvoie false
import cv2
import numpy as np
background=cv2.imread('background.png')
cap = cv2.VideoCapture('car video.mp4')
cap.open('car video.mp4')
print cap.isOpened()
while 1:
ret,img=cap.read()
cv2.imshow('a',img)
print img.shape
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Il montre cette erreur
cv2.imshow('a',img)
error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:266: error: (-215) size.width>0 && size.height>0 in function cv::imshow
mon opencv version 3.0.0, python 2.7, windows10 32 bits
vous avez besoin du codec ffmpeg pour pouvoir exécuter la vidéo
Je ne suis pas sûr que vous écrivez votre nom de fichier correctement. Je n'ai jamais vu de répertoire de fichiers tel que 'car video.mp4' . Lorsque vous utilisez l’indice de base zéro, votre webcam et cv2.VideoCapture fonctionnent correctement. Cependant, VideoCapture ne peut pas lire un fichier tel que 'car (space) video.mp4' Un code de travail ressemble à quelque chose comme ceci;
import numpy as np
import cv2
cap = cv2.VideoCapture('video.mp4')
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
cv2.destroyAllWindows()
Je recevais la même erreur lors de l'utilisation d'opencv dans un environnement virtuel anaconda3. J'ai vérifié les informations de compilation pour la version actuelle d’opencv et ffmpeg était marqué "non" .
Pour résoudre ce problème
Dernière version de ffmpeg installée à l'aide du canal conda-forge (conda install -c conda-forge ffmpeg)
Nom Version Build Channel
ffmpeg 4.0.2 ha6a6e2b_0 conda-forge
Puis installé à nouveau en utilisant le canal conda-forge (conda install -c conda-forge opencv)
Nom Version Build Channel
ouverture 3.4.1 py36_blas_openblash829a850_201 [blas_openblas] conda-forge
Redémarrez la console python après l'avoir fait et importez cv2.
essayer
pip install opencv-contrib-python
Ça a fonctionné pour moi