Risposte:
Quando usiamo fswebcam
per catturare un'immagine, sembra che la telecamera sia inizializzata, catturi un'immagine e quindi si disconnetta. Alcune webcam hanno la funzione di bilanciare automaticamente la loro luminosità. Ad esempio, in una stanza buia avvertono che è necessario aumentare la luminosità mentre in un'area luminosa, potrebbe essere necessario ridurre la luminosità. La fotocamera lo fa esaminando i propri frame e analizzandoli. Quando si verifica un'immagine che si verifica immediatamente dopo l'inizializzazione della fotocamera, non ha visto dati sufficienti per sapere quanto è luminoso l'ambiente e sembra che presupponga che l'ambiente sia SUPER luminoso e riduce al minimo il controllo dell'esposizione (risultante in un'immagine nera). Man mano che vengono esaminati più fotogrammi, la fotocamera regola rapidamente le impostazioni di esposizione.
Per usare fswebcam
, possiamo fornirgli l'opzione di -S <num>
quale sia il numero di fotogrammi che la fotocamera dovrebbe "vedere" e "saltare" prima di catturare l'immagine desiderata. Trovo che se fornisco un salto della 20
fotocamera ha avuto abbastanza fotogrammi per regolare automaticamente la sua esposizione e poiché stiamo elaborando 30 fotogrammi al secondo, è comunque meno di un secondo ritardo per afferrare 1 fotogramma. Per lo streaming video, non dovremmo avere il problema poiché la telecamera verrà inizializzata e rimarrà inizializzata.
È necessario saltare i primi fotogrammi prima di acquisire l'immagine, per ulteriori informazioni consultare il post del blog qui
fswebcam -d /dev/video0 -r 640x480 -v -S 10 --set brightness=100% test_image.jpg