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.

Annunci

Azioni

Information

One response

14 04 2009
Luca Polverini

Ciao,

Mi chiamo Luca e vorrei iniziare ad utilizzare OpenCV con Netbeans.

Non riesco a creare il programma con Clean and Build
Lavoro con Windows Xp SP3.

ecco il responso:

Running “c:\cygwin\bin\make.exe -f Makefile CONF=Debug” in E:\NetBeansProjects\Application_1

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `/cygdrive/e/NetBeansProjects/Application_1′
/usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin-Windows/application_1.exe
make[2]: Entering directory `/cygdrive/e/NetBeansProjects/Application_1′
mkdir -p build/Debug/Cygwin-Windows
rm -f build/Debug/Cygwin-Windows/facedetect.o.d
gcc.exe -c -g -I/cygdrive/C/Programmi/OpenCV/cxcore/include -I/cygdrive/C/Programmi/OpenCV/cv/include -I/cygdrive/C/Programmi/OpenCV/otherlibs/highgui -I/cygdrive/C/Programmi/OpenCV/cvaux/include -I/cygdrive/C/Programmi/OpenCV/otherlibs/cvcam/include -MMD -MP -MF build/Debug/Cygwin-Windows/facedetect.o.d -o build/Debug/Cygwin-Windows/facedetect.o facedetect.c
mkdir -p dist/Debug/Cygwin-Windows
gcc.exe -o dist/Debug/Cygwin-Windows/application_1 build/Debug/Cygwin-Windows/facedetect.o -lcv -lcvaux -lcvcam -lcxcore -lhighgui
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lcv
collect2: ld returned 1 exit status
make[2]: *** [dist/Debug/Cygwin-Windows/application_1.exe] Error 1
make[2]: Leaving directory `/cygdrive/e/NetBeansProjects/Application_1′
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/cygdrive/e/NetBeansProjects/Application_1′
make: *** [.build-impl] Error 2

Build failed. Exit value 2.

puoi darmi un aiuto?

Grazie

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




%d blogger hanno fatto clic su Mi Piace per questo: