Maison > Java > le corps du texte

Méthode de lecture Open CV VideoCapture

王林
Libérer: 2024-02-10 18:06:08
avant
661 Les gens l'ont consulté

PHP Editor Banana présente aujourd'hui une méthode pour ouvrir CV VideoCapture et le lire. Dans le domaine de la vision par ordinateur, VideoCapture est une classe couramment utilisée pour lire des images à partir de fichiers vidéo ou de caméras. En utilisant la classe VideoCapture, nous pouvons facilement obtenir le flux vidéo et effectuer un traitement et une analyse d'image ultérieurs. Dans cet article, nous détaillerons comment utiliser la classe VideoCapture pour ouvrir et lire des fichiers vidéo ou des images de caméra. Que vous soyez débutant ou développeur expérimenté, vous pouvez lire cet article pour apprendre à utiliser la classe VideoCapture pour traiter des données vidéo. Nous allons jeter un coup d'oeil!

Contenu de la question

J'utilise une application appelée Android Studio pour écrire tout mon code. J'ai écrit le code suivant :

mat fieldimage = new mat();
videocapture.read(fieldimage);
Copier après la connexion

Mais la méthode read de l'objet videocapture renvoie une valeur booléenne. Donc (si j'ai raison), ce code devrait générer une erreur. Cependant, Android Studio ne génère pas d’erreur. Ce code renvoie-t-il une erreur ? Si oui, ce code pourrait-il le remplacer ?

Mat fieldImage = new Mat();
boolean finishedCapturing =  videoCapture.read(fieldImage);
while(!finishedCapturing) {
finishedCapturing =  videoCapture.read(fieldImage);
}
Copier après la connexion

Solution de contournement

Tout d'abord, si une méthode a une valeur de retour, vous n'avez pas besoin d'obtenir la valeur. Tout IDE ne génère généralement pas d’erreur si vous n’obtenez pas la valeur de retour. Mais si une méthode vous donne une valeur de retour, vous devez l'accepter et la gérer comme prévu par la méthode.

Pour votre cas, le javadoc de videocapture indique que la valeur de retour indique si l'image peut être capturée.

Donc dans votre cas, vous pouvez faire quelque chose comme ça

Mat fieldImage = new Mat();
boolean hasReadFrame = true;
// Have a do-while loop to only have once the read call
do {
    // Check if a frame has read
    hasReadFrame =  videoCapture.read(fieldImage);
    // after reading, you could do some more logic with the fieldImage
} while (hasReadFrame);
Copier après la connexion

Bien sûr, vous devrez ajouter une gestion des erreurs/exceptions si nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!