OpenCV e Kdevelop

4 10 2008

Premessa

In questo periodo mi sto dedicando ad un interessante ambito, la computer vision e, per quello che riguarda lo sviluppo in questo ambito, a quanto mi risulta, ad oggi uno degli strumenti migliori è senza dubbio OpenCv (Open Computer Vision). Questa è una libreria derivante dalla Intel Image Processing Library (IPL) sviluppata da Intel e completamente open source, infatti rilasciata sotto licenza BSD. Le OpenCv sono utilizzabili come una comune libreria C/C++ (anche se dovrebbe esistere anche un wrapper Python, ma non ne so molto) in ambito Win/Linux. In questo articolo tratterò l’installazione e l’utilizzo in Kdevelop su un sistema (K)ubuntu 8.04.

Mettiamoci a lavoro…

Preparazione sistema

Per prima cosa scarichiamo il tar.gz di OpenCv da SourceForge

Dopo aver scopattato il pacchetto, prima di compilare è necessario scaricare g++, e pkg-config, e consiglio di installare anche i seguenti pacchetti

apt-get install automake g++ pkg-config libgtk2.0-dev libjasper-dev libpng-dev zlib1g-dev python

Passiamo ora all’installazione

./configure
make
make install

Controllate la cartella in cui sono installate le librerie

updatedb
locate cv.h

Di solito questte sono in /usr/local/include/opencv; ora bisogna aggiungere /usr/local/lib e /usr/local/include/opencv in /etc/ld.so.conf o in vim /etc/ld.so.conf.d/libc.conf (a seconda dei casi il primo può semplicemente includere il secondo). Poi lanciare

ldconfig

Configurazione di Kdevelop

Se non è presente installare Kdevelop con il classico

apt-get install kdevelop

Create un nuovo progetto e chiamatelo come vi pare

Progetto ->Nuovo Progetto -> C++ -> Simple Hello World Program

andate in Gestion automake (sulla dx nel pannello principale)
cliccate con il tasto dx sul nome del progetto ed andate in “opzioni” ed entrare nel tab “Librerie”

Inserire le librerie

-lcv
-lcxcore
-lhighgui
-lcvaux

Ora il sistema dovrebbe funzionare a dovere!

Buon divertimento!

Annunci




OpenCv Netbeans e Webcam (WinXP)

14 06 2008

OpenCv è la nota libreria OpenSource di Intel per lo sviluppo di applicazioni dedicate alla Computer Vision (un interessante articolo su http://www.matteolucarelli.net/opencv/opencv-dev142.pdf). Per lavoro mi sono imbattuto in questa tipologia di applicazioni e, visto ke per ora le ho momentaneamente abbandonate per dedicarmi ad altro, mi piaceva ricreare a casa un piccolo laboratorio di test sul mio portatile con webcam a seguito. Questi sono i passi per iniziare a lavorare sotto winXp.

Installazione IDE

Ho scelto di installare Netbeans come ambiente di sviluppo, in quanto è free, è multipiattaforma e seppur non velocissimo (necessita di un pò di ram x fungere bene) lo conosco abbastanza bene e mi sembra molto semplice. Per scaricare l’ultima versione http://download.netbeans.org/netbeans/6.0/final/ (qui potete trovare sia la versione completa x sviluppare sotto tutti i linguaggi supportati sia le versioni monche dedicate al C/C++ o al Java, ecc…).

Installazione Cygwin

Per compilare adeguatamente i progetti in C/C++ è necessario installare il compilatore gcc e il make. Questi sw necessitano, per funzionare sotto windozze, di Cygwin. Quindi al sito http://www.cygwin.com scaricate il setup.exe e lanciatelo da locale. Selezionate, come prima opzione Install from Internet , scegliete una root dir (di default C:\cygwin) e scegliete un mirror fra quelli proposti da cui iniziare a scaricare. Dopo aver atteso il tempo necessario alla connessione vi comparirà un elenco di pacchetti da scaricare. Andate sotto la voce Devel e selezionate tutti i pacchetti autoconf, automake, gcc, make. Poi cliccate su avanti ed attendete la fine dell’installazione.

Aggiunta delle variabili di ambiente

E’ importante ora, per usare gcc, far capire a windozze dove si trova il compilatore. Andate quindi su

Pannello di controllo -> Sistema -> Avanzate -> Variabili d’ambiente. Nel menu Variabili di Sistema selezionate path ed aggiungete alla riga “;C:\cygwin\bin” (dove ovviamente cygwin è la cartella in cui avete scelto di installare cygwin.

Configurazione di Netbeans

Ok, il lavoraccio è quasi finito. Da Netbeans create un nuovo progetto C/C++, facciamo ProvaOpenCv e vedrete che nella parte sx dello schermo comparirà una struttura ad albero del progetto proprio col nome che avete scelto. Cliccateci sopra con il tasto dx e selezionate Proprietà. Andate in Build -> C compiler e inserite in General->Include Directories

C:\Programmi\OpenCV\cxcore\include
C:\Programmi\OpenCV\cv\include
C:\Programmi\OpenCV\otherlibs\highgui
C:\Programmi\OpenCV\cvaux\include
C:\Programmi\OpenCV\otherlibs\cvcam\include

Rifate lo stesso in C++ compiler.

Rimane ora solo da aggiungere le librerie da linkare. Sempre cliccando con il tasto destro sul progetto e selezionando proprieties andate su Build->Linker ed inserite il path delle librerie di OpenCv (di default C:/Programmi/OpenCV/lib).

Testing

Rimane ora solo da testare il progetto. Io ho provato il tutto con una webcam logitech (una vecchia quickcam connect) e va abbastanza bene. Come codice di prova ho semplicamente copiato e incollato il codice di facedetect.c (dal path C:\Programmi\OpenCV\samples\c). In questo caso fate attenzione a copiare il file xml di haarcascade da C:\Programmi\OpenCV\data\haarcascades al path in cui avete salvato il progetto Netbeans.