Maison >développement back-end >C++ >Comment éliminer le décalage de capture vidéo dans OpenCV ?
VideoCapture dans OpenCV utilise un tampon pour stocker les images capturées. Bien que ce tampon améliore les performances, il peut entraîner un décalage s'il n'est pas correctement géré.
Pour les configurations matérielles spécifiques, OpenCV propose la propriété CV_CAP_PROP_BUFFERSIZE. En définissant cette propriété, vous pouvez contrôler la taille du tampon, réduisant ainsi l'accumulation d'anciennes images.
Ce hackaround surveille l'heure prises pour récupérer une image. Si le temps est considérablement court, la trame est supposée provenir du tampon et est rejetée. Une fois que le temps dépasse un certain seuil, la trame renvoyée est considérée comme à jour.
Pour éviter l'accumulation de tampon , un thread dédié peut récupérer en continu des images en utilisant grab() à grande vitesse. Lorsque le thread de travail principal a besoin d'un frame, il peut le récupérer à partir de ce thread tampon en utilisant un mécanisme de synchronisation comme 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!