Maison > développement back-end > C++ > le corps du texte

Comment surmonter le décalage dans OpenCV VideoCapture causé par l'accumulation de tampon de capture ?

Susan Sarandon
Libérer: 2024-11-06 12:34:02
original
558 Les gens l'ont consulté

How to Overcome Lag in OpenCV VideoCapture Caused by Capture Buffer Accumulation?

Décalage de capture vidéo OpenCV induit par le tampon de capture

Vous avez rencontré un problème de décalage avec VideoCapture d'OpenCV en raison de l'accumulation d'images dans le tampon de capture. Pour contourner le problème, vous avez eu recours à la lecture du tampon à 30 ips pour l'effacer rapidement.

OpenCV Solution

OpenCV fournit un moyen de définir manuellement la taille du tampon. :

<code class="cpp">cv::VideoCapture cap;
cap.set(CV_CAP_PROP_BUFFERSIZE, 3); // store only 3 frames</code>
Copier après la connexion

Cependant, cette solution n'est supportée que par le backend DC1394 v 2.x.

Hackaround 1

Une alternative L'approche consiste à mesurer le temps nécessaire pour récupérer une image :

  • Si le temps est court, l'image provient du tampon et peut être supprimée.
  • Répétez jusqu'à ce que le temps dépasse un seuil, indiquant que le tampon est vide.

Hackaround 2

Vous pouvez créer un troisième thread qui récupère continuellement des images à grande vitesse en utilisant cv ::VideoCapture.grab() pour garder le tampon vide. Synchronisez l'accès entre ce thread et votre thread de travail à l'aide d'un spin-lock.

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:php.cn
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
Derniers articles par auteur
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!