Que faire lorsqu'une vidéo ne peut pas être lue par cv2.VideoCapture

Chose que tu veux faire

Je souhaite charger des vidéos au format AVI image par image depuis Python en utilisant OpenCV: blush:

Problème bloqué

J'ai appelé la méthode de lecture de cv2.VideoCapture pour lire l'image de la vidéo et je l'ai dessinée avec cv2.imshow, mais elle est devenue noire partout et ne s'affichait pas correctement: rage:

Image du script exécuté


cap = cv2.VideoCapture('test.avi')
ret, frame = cap.read()
cv2.imshow('frame', frame)

La vidéo peut être lue avec d'autres logiciels.

Environnement d'exécution

Paramètres Python

Anaconda 3 a été installé sur Windows 10 (64 bits) et un environnement virtuel de Python 2.7 a été construit. J'ai installé des bibliothèques telles que matplotlib, numpy et pyqt dans l'environnement virtuel. Dans ce qui suit, le chemin d'installation d'Anaconda est C: \ Anaconda, et le nom de l'environnement virtuel est py27. À ce stade, le fichier de configuration de l'environnement virtuel est enregistré dans C: \ Anaconda \ envs \ py27.

Le script Python est édité et exécuté dans le notebook jupyter lancé depuis Anaconda.

Paramètres pour appeler OpenCV depuis Python

Téléchargez et décompressez le fichier zip (par exemple, opencv3.3.0.zip) contenant l'ensemble des binaires pour Windows à partir du site officiel d'OpenCV. Copiez build \ python \ 2.7 \ x64 \ cv2.pyd dans le fichier zip extrait dans`` `C: \ Anaconda \ envs \ py27 \ Lib \ site-packages```. Vous pouvez maintenant utiliser les fonctions de base d'OpenCV.

(S'il vous plaît dites-moi s'il y a une meilleure façon)

Solution

Vérifiez le fichier suivant dans \ build \ bin` dans le fichier zip (opencv3.3.0.zip précédemment) téléchargé lors de l'installation d'OpenCV.

Puisqu'il s'agit d'un environnement 64 bits, sélectionnez ʻopencv_ffmpeg330_64.dll et copiez-le dans C: \ Anaconda \ envs \ py27 \ Library \ bin`.

c'est tout.

Avertissement

Le contenu de cet article peut être inexact. Nous ne sommes pas responsables des dommages causés par le contenu de cet article ou son utilisation.

Les références

[1] https://stackoverflow.com/questions/11699298/opencv-2-4-videocapture-not-working-on-windows

Recommended Posts

Que faire lorsqu'une vidéo ne peut pas être lue par cv2.VideoCapture
Que faire si pip ne peut pas être installé
Que faire lorsque gdal_merge génère un fichier énorme
Que faire lorsque "impossible d'importer le nom xxx" [Python]
Que faire si pvcreate produit beaucoup d'AVERTISSEMENT et ne peut pas être créé
Que faire si la dépendance du package ne peut pas être réparée
Que faire lorsqu'une erreur de suppression se produit lors de la mise à jour de conda
Que faire quand Ubuntu plante
Que faire si ʻObject arrays ne peut pas être chargé quand allow_pickle = False` se produit dans numpy.load ()
[AWS] Que faire lorsque la commande ping provoque un "délai d'expiration"
Que faire si PyAudio ne peut pas être installé sur Python 3.7, 3.8, 3.9 sous Windows
[Mémorandum] Que faire lorsqu'un avertissement apparaît après l'exécution de pip list
Que faire lorsqu'un message d'avertissement est affiché dans la liste des pip
Que faire lorsque "Erreur OS: [WinError 126] Le module spécifié est introuvable" apparaît dans la torche d'importation
Que faire si mod_fcgid ne peut pas résoudre UnicodeEncodeError
Que faire quand une PermissionError dans tempfile.mkstemp se produit
Que faire si «TypeError: must be string, not int…» apparaît lors de l'utilisation de strptime
Que faire lorsqu'un avertissement apparaît autour de l'intégration de Python dans CheckHealth de Neovim
Que faire si l'abandon s'affiche lors de la saisie d'une vidéo de caméra dans OpenCV
Que faire lorsque vous souhaitez recevoir des fichiers à distance depuis un client Windows
Que faire si on vous dit «Erreur d'importation: impossible d'importer le nom'HTTPSHandler '» lors de la création d'un environnement virtuel à l'aide de virtualenv
Lors de l'écriture d'un test en utilisant DB avec django, il peut être plus rapide d'utiliser `setUpTestData ()`
curl: (60) Que faire lorsque le certificat de l'émetteur n'est pas valide.
Que faire quand n'est pas dans le fichier sudoers. Cet incident sera signalé.
Que faire si vous obtenez une erreur de mémoire lors de la conversion de PySparkDataFrame en PandasDataFrame
Que faire lorsque vous déclenchez ValueError, "type de hachage non pris en charge"
Que faire si une erreur de décodage Unicode se produit dans pip
Que faire lorsque "Erreur de type: doit être _socket.socket, pas socket" apparaît dans GAE
Que faire lorsqu'un artefact manquant se produit dans un fichier jar qui n'est pas défini dans pom.xml
Que faire si vous obtenez une erreur Impossible de récupérer le lien métallique pour le référentiel avec yum
[AWS] Que faire lorsque vous souhaitez piper avec Lambda
Comment changer le fichier de configuration pour qu'il soit lu par Python
Que faire si pip donne une DistributionError dans Homebrew
Que faire lorsque la police PyCharm est étrange ou déformée
Enregistrement des actions à entreprendre lorsque google_image_download ne peut pas être utilisé
Que faire lorsque des séries booléennes non alignables sont fournies comme indexeur
ValueError: incompatibilité de forme: les objets ne peuvent pas être diffusés vers une seule forme
Que faire si une erreur 0xC0000005 se produit dans tf.train.start_queue_runners ()
Que faire lorsqu'une erreur se produit avec import _ssl
Soyez prudent lorsque vous attribuez une série en tant que colonne aux pandas.
Que faire si l'installation du package échoue lors du déploiement sur heroku
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
OSError: [Errno 40] Que faire lorsque Message trop long apparaît
Que faire lorsque "En-tête HTTP_HOST non valide" apparaît dans Django
ImportError: Pas de module Que faire quand on vous dit
Lorsque l'USB n'a pas pu être formaté
Lorsque pydub ne peut pas être installé
Que faire si vous vous fâchez contre les `` déclarations '' doivent être une liste 2D ... dans la flèche matplotlib
Que faire lorsqu'une partie de l'image d'arrière-plan devient transparente lorsque l'image transparente est combinée avec Oreiller
Que faire si vous obtenez une erreur de remplacement obligatoire `get_config` lorsque vous essayez de model.save avec Keras
Que faire si vous obtenez moins zéro en Python
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Que faire lorsque les paramètres de l'extension jupyterlab ne sont pas reflétés
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire si un avertissement de plate-forme non sécurisée apparaît lors de l'exécution de Python
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Que faire quand UnicodeDecodeError se produit pendant read_csv dans pandas (pd.read_table ())
Lorsque vous souhaitez trier une liste multidimensionnelle sur plusieurs lignes