Configurare NetBeans per sviluppare con le OpenCV

La seguente guida e’ orientata a chi vuole impostare l’ambiente di sviluppo NetBeans per lavorare ad un progetto C/C++/OpenCV. La guida e’ applicabile in ambienti Linux, o Mac OS. Su Windows questa guida ha senso solo se e’ installato il compilatore GNU per C e C++ (dipende da Cygwin).

Il primo prerequisito da soddisfare consiste nell’installare le librerie OpenCV di Intel, disponibili nei repository ufficiali della propria distribuzione Linux, o installabili su Mac OS X tramite MacPorts. Il secondo prerequisito e’ l’IDE NetBeans scaricabile gratuitamente all’indirizzo http://www.netbeans.org .

NetBeans e’ il mio IDE preferito per via della sua completezza in materia di linguaggi di programmazione e tecnologie supportate. Da Java e Java EE (definibili come linguaggi preferiti di NetBeans) a svariati Database e Application Server ad altri linguaggi e sintassi quali HTML, JSP, Ruby, Phyton, C e C++ e perfino UML.

Inoltre e’ OpenSource e disponbile per tutte le piattaforme (Windows, Mac OS, Linux, Solaris).

Attualmente ad esempio sto lavorando ad un progetto di Computer Vision (in C e C++) e contemporaneamente ad una piattaforma di Business Intelligence in Java Enterprise.
Grazie a NetBeans posso lavorare a due progetti differenti, scritti in codici diversi che utilizzano tecnologie e piattaforme diverse con un unico strumento.

Adesso veniamo a noi…

Per iniziare a preparare l’ambiente e adattarlo alla programmazione C/C++ bisogna scaricare il modulo di Netbeans atto a svolgere tale compito:

  • Apriamo NetBeans e andiamo su Tools->Plugins.
  • Nella scheda “Available Plugins” segniamo C/C++ e aspettiamo che NetBeans scarichi per noi i pacchetti necessari all’installazione della funzionalità.

Adesso nella voce File->New Project tra le “Categories” troveremo la cartella C/C++ e potremo cosi’ creare un nuovo progetto C/C++.

  • Creiamo una nuova applicazione e andiamo avanti fino ad ottenere la schermata principale di NetBeans con il nuovo progetto nella scheda Projects.
  • Clicchiamo col destro sul nodo principale del progetto (che corrisponde al nome assegnato al progetto) e scegliamo proprietà.

Aggiungiamo adesso il supporto per le OpenCV:

  • Nella categoria C/C++, espandiamo C compiler e scegliamo la scheda General.
  • Clicchiamo sul pulsante (…) alla destra di “Include Directories” e impostiamo il percorso degli include delle OpenCV (/usr/local/include/opencv o /opt/local/include/opencv su Mac OS se avete installato le OpenCV con MacPorts).
  • Ripetete la stessa procedura per la categoria C++ compiler.

Adesso impostiamo il linker alle librerie dinamiche di OpenCV:

  • Nella categoria Linker, nella voce Libraries clicchiamo sulla (…) alla destra di Libraries, clicchiamo su Add Library File, ed aggiungiamo le librerie libcv.so, libcvaux.so, libcxcore.so e libhighgui.so (Linux su /usr/local/lib) oppure libcv.dylib, libcvaux.dylib, libcxcore.dylib e libhighgui.dylib (Mac OS su /opt/local/lib se avete installato le OpenCV con MacPorts).
  • Sempre nella categoria Linker nella voce General clicchiamo sulla (…) alla destra di Additional Library Directories ed aggiungiamo il percorso delle librerie (/usr/local/lib su Linux, /opt/local/lib su Mac OS X)

Applichiamo le impostazioni e adesso il vostro progetto dovrebbe essere pronto ad utilizzare le librerie OpenCV.

2 thoughts on “Configurare NetBeans per sviluppare con le OpenCV”

  1. Ciao, ho seguito alla lettera le tue istruzioni. Ho provato un semplice codice che legge un’immagine da file (bmp) e la visualizza in una finestra. Compila, ma nell’esecuzione mi da questo errore:

    dyld: Symbol not found: __cg_jpeg_resync_to_restart
    Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
    Expected in: /opt/local/lib/libjpeg.62.dylib

    Ho provato ad aggiungere tra le librerie anche libjpeg.dylib ma non va. Puoi aiutarmi?
    Grazie Angelo
    P.S. Complimenti per la guida…utilissima!!! 🙂

    1. Ciao Angelo, adesso è da un po’ che non lavoro con le OpenCV, quindi in dettaglio non saprei aggiungere altro oltre a ciò che ho scritto nella guida. L’unica cosa che posso dirti è che non ho mai riscontrato qul tipo di errore che sicuramente come tu hai intuito è causato da una incompatibilità di versione di librerie (Quelle dell’ImageIO Framework).

      Supponendo che hai installato una versione funzionante e testata dell OpenCV Intel per Mac, hai anche installato gli Xcode Tools inclusi nel DVD di installazione di Leopard (o nel DVD di ripristino della macchina)?

      Hai un Mac Intel o PowerPC?

      Per risolvere il problema non basta copiare la libreria ma installare il framework che la contiene o ricompilarla da sorgente in base alla piattaforma ospitante (nel tuo caso credo Mac OS Leopard).

Leave a Reply