Réponses:
Lorsque nous utilisons fswebcam
pour saisir une image, il apparaît que la caméra est initialisée, saisit une image puis déconnectée. Certaines webcams ont pour fonction d'équilibrer automatiquement leur luminosité. Par exemple, dans une pièce sombre, ils sentent que les besoins de luminosité ont augmenté tandis que dans une zone lumineuse, il peut être nécessaire de diminuer la luminosité. La caméra le fait en examinant ses propres images et en les analysant. Lorsqu'une capture d'image se produit immédiatement après l'initialisation de l'appareil photo, il n'a pas vu suffisamment de données pour savoir à quel point l'environnement est lumineux et il semble qu'il suppose que l'environnement est SUPER lumineux et réduit son contrôle d'exposition au minimum (résultant dans une image noire). À mesure que davantage d'images sont examinées, l'appareil photo ajuste rapidement ses paramètres d'exposition.
Pour l'utiliser fswebcam
, nous pouvons lui fournir l'option -S <num>
dont est le nombre d'images que la caméra doit "voir" et "sauter" avant de capturer l'image que vous voulez. Je trouve que si je fournis un saut de 20
l'appareil photo a eu suffisamment d'images pour ajuster automatiquement son exposition et puisque nous traitons 30 images par seconde, c'est encore moins d'un deuxième délai pour saisir 1 image. Pour le streaming vidéo, nous ne devrions pas avoir de problème car la caméra sera initialisée et restera initialisée.
Vous devez ignorer les premières images avant de capturer l'image, pour plus d'informations, consultez le blog ici
fswebcam -d /dev/video0 -r 640x480 -v -S 10 --set brightness=100% test_image.jpg