Pubblicato da: Max-B su: 16 Marzo 2009
La qualità delle immagini acquisite con la webcam QuickCam Pro 9000 prima e dopo la procedura descritta in questa guida
I miei esperimenti con le webcam continuano. In questo articolo descrivo come pilotare la messa a fuoco di una webcam Logitech QuickCam Pro 9000 su Ubuntu 8.10.
Avendo necessità di effettuare acquisizioni periodiche da webcam da una distanza ravvicinata mi sono orientato sulla webcam Logitech QuickCam Pro 9000. La scelta è ricaduta su questa webcam in primo luogo per le caratteristiche tecniche della webcam. Sul sito della Logitech si legge: “Ottica Carl Zeiss® con messa a fuoco automatica: dettagli e chiarezza superiore grazie all’obiettivo Carl Zeiss®. Immagini nitidissime anche con inquadrature ravvicinate.”. Secondariamente, stando a quanto riportato sul wiki ufficiale di Ubuntu, la webcam sembrava essere supportata completamente fin dalla versione 7.10 di Ubuntu, a parte la segnalazione di alcuni crash di Skype.
Sfortunatamente una volta collegata la webcam in oggetto alla mio PC ho potuto riscontrare che in effetti la webcam funziona out of the box tranne che per il controllo della messa fuoca.
Ecco come sono riuscito ad ottenere il controllo della messa a fuoco.
Per prima cosa è necessario installare la libreria libwebcam sviluppata dal QuickCamTeam. Sfortunatamente la libreria deve necessariamente essere compilata manualmente e, come se non bastasse, la versione ufficiale non funziona (almeno io non sono riuscito a compilarla) occorre quindi utilizzare la subversione svn. Per prima cosa scaricare la subversione svn:
wget -r http://svn.quickcamteam.net/svn/qct/Linux/
In accordo con quanto riportato nel file README della libreria occorre avere installato i complilatori e i paccheti dai queli la licenza dipende (uvcvideo, libxml2, gengetopt). Mentre il primo è quasi sicuramente presente, gli altri due vanno installati:
sudo apt-get install libxml2-dev gengetopt
A questo punto portatevi dentro la cartella che contiene i file sorgente
cd svn.quickcamteam.net/svn/qct/Linux/
e in accordo con il file readme scaricate 2 script necessari alla compilazione che dovranno essere collocati nella cartella Common/include/
cd Common/include/
wget http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvcvideo.h
wget http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvc_compat.h
cd -
A questo punto possiamo iniziare la compilazione del pacchetto che dovrebbe concludersi senza problemi.
mkdir build
cd build
cmake ..
make
sudo make install
Se la compilazione non ha restituito errori possiamo testare l’installazione la quale molto probabilmente vi restituirà l’errore seguente:
uvcdynctrl -c
uvcdynctrl: error while loading shared libraries: libwebcam.so.0.1.1: cannot open shared object file: No such file or directory
Per risolvere è necessario creare un link simbolico alla libreria richiesta:
sudo ln -s /usr/local/lib/libwebcam.so.0.1.1 /usr/lib/libwebcam.so.0.1.1
Torniamo a lanciare uvcdynctrl il quale dovrebbe restituire la lista dei controlli disponibili per la webcam (il focus non è ancora presente).
uvcdynctrl -c
Listing available controls for device video0:
Exposure, Auto Priority
Exposure (Absolute)
Exposure, Auto
Backlight Compensation
Sharpness
White Balance Temperature
Power Line Frequency
Gain
White Balance Temperature, Auto
Saturation
Contrast
Brightness
A questo punto installiamo il pacchetto guvcview che ci permetterà di controllare la webcam in tutti i suoi parametri, messa a fuoco inclusa.
In accordo con la guida riportata sul sito ufficiale di guvcview aggiungiamo al file /etc/apt/source.lst le righe seguenti
deb http://ppa.launchpad.net/pj-assis/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/pj-assis/ppa/ubuntu intrepid main
Importiamo le chiavi:
gpg --keyserver keyserver.ubuntu.com --recv 0x9750A93F69FAF7DA
gpg --export --armor 0x9750A93F69FAF7DA |sudo apt-key add -
Aggiorniamo la lista dei pacchetti ed installiamo guvcview.
sudo apt-get update
sudo apt-get install guvcview
Modifichiamo il file /etc/udev/rules.d/80-uvcdynctrl.rules come segue:
###########################################
# Rules for adding dynamic UVC extension unit controls to UVC devices
################################################
ACTION=="add", SUBSYSTEM=="video4linux", DRIVERS=="uvcvideo", ENV{idVendor}="$at
tr{idVendor}", ENV{idProduct}="$attr{idProduct}", RUN+="/lib/udev/uvcdynctrl"
A questo punto lachiando il comando seguente dovremmo essere in grado di controllare la messa a fuoco della webcam:
sudo guvcview
10 Giugno 2009 a 06:55
Ciao volevo dirti che ho seguito la tua guida ed è molto ben fatta e precisa solo che mi chiedevo come facciamo a controllare tutti i setting in skype????
Messa a fuoco, colori, luminosità e zoom???
Hai trovato qualche metodo tu???
GRAZIE CIAO