Installazione di OpenCV 4 su Ubuntu 18

E’ da più di un anno che sono presenti alcuni articoli pubblicati su questo sito che fanno uso della fantastica libreria OpenCV 3. E’ da poco uscita la nuova versione OpenCV 4 e come da prassi pubblicheremo la procedura di compilazione ed installazione su sistemi Linux Ubuntu 18.

Installiamo OpenCV 4 su Linux Ubuntu 18

Le nuove caratteristiche della versione OpenCV 4

In questa procedura utilizzeremo la versione di Python 3.x. Ormai dobbiamo tutti cominciare a prendere dimestichezza con questa versione, che è ormai diventato lo standard ufficiale del linguaggio.

Installazione delle dipendenze di OpenCV 4

Prima di cominciare la compilazione e l’installazione della libreria OpenCV 4, sarà necessario installare nel nostro sistema alcuni pacchetti fondamentali per i vari processi che vedremo avanti. Soprattutto alcuni tool necessari per la compilazione.

Quindi la prima cosa da fare è accertarsi che il nostro sistema Ubuntu sia perfettamente aggiornato. Su Ubuntu 18 non è più necessario aggiungere apt-get (va bene ancora) ma si può utilizzare direttamente apt.

Adesso che abbiamo aggiornato il sistema comciamo ad installare questi importantissimi tool di sviluppo che ci serviranno per la compilazione del codice sorgente OpenCV 4

Oltre ai pacchetti precedenti vi sono una serie di librerie I/O necessarie ad OpenCV 4 per gestire i formati di immagine e video.

Adesso un’altra importante libreria necessaria per una corretta compilazione del codice sorgente di OpenCV 4 è la libreria GTK, utile per la gestione delle GUI (interfacce grafiche per l’utente).

Poi aggiungiamo altre due librerie necessarie per l’ottimizzazione matematica di OpenCV: Fortran e Atlas.

Ed infine, come detto in precedenza, ci baseremo sulla versione di Python 3.x. Quindi se ancora non fosse installata sul tuto sistema è giunto il momento di farlo.

Download del codice sorgente di OpenCV 4

Per installare OpenCV 4 sul nostro sistema sono necessarie due diversi pacchetti:

  • opencv
  • opencv_contrib

Quindi cominciamo con scaricare questi pacchetti direttamente nel nostro file system.

Una volta scaricati entrambe i pacchetti ZIP possiamo fare l’estrazione.

Una volta estratto il loror contenuto troveremo nella nostra directory di lavoro due nuove cartelle con riportato nel nome la versione relativa. Rinominiamo i due pacchetti

Configurazione dell’ambiente virtuale Python3-OpenCV4

Quando si vuole compilare una libreria complessa come OpenCV4, ricca di correlazioni con un’ampia serie di pacchetti e librerie (parliamo di pacchetti in Python), è buona prassi creare un ambiente virtuale specifico. Gli ambienti virtuali in Python ci permettono di lavorare su di un progetto (come può essere OpenCV4) in perfetto isolamento senza andare ad influire minimamente su altri progetti in Python che molto probabilmente utilizzeranno una diversa configurazione di pacchetti e versioni.

L’installazione diretta di OpenCV4 sull’ambiente di default di Python rischierebbe di compromettere il perfetto funzionamento di altri progetti precedenti, oppure precluderene altri nuovi. Questo perchè con l’andare avanti nel tempo alcuni progetti avranno delle librerie in comune, alcune delle quali saranno necessarie in due versioni diverse. Aggiornando una di queste librerie per il funzionamento di un progetto avrà spesso delle conseguenze indesiderate su altri progetti precedenti.

Invece grazie agli ambienti virtuali si potranno utilizzare tutti i progetti che vogliamo, persino lavorare con Python2 e Python3 contemporaneamente, o lavorare con due versioni diverse di OpenCV4. Per esempio potrete lasciare la vostra vecchia versione di OpenCV3 (magari in Python 2) sul vostro sistema ed installare in un ambiente virtuale a parte la nuova versione OpenCV4.

Quindi installiamo due pacchetti necessari per realizzare e gestire gli ambienti virtuali: virtualenv e virtualenvwrapper.

Per completare l’installazione di questi due tool, dobbiamo modificare un particolare file nascosto nella nostra HOME directory. Apri con un editor di testo il file .bashrc.

scorri fino alla fine del file, e proprio in fondo aggiungi le seguenti righe di codice.

Poi salva il file ed esci dall’editor di testo. Adesso fai eseguire il programma per aggiornare queste ultime modifiche.

Adesso creiamo l’ambiente virtuale per Python3+OpenCV4

Abbiamo creato così un ambiente virtuale completamente isolato, che potremo attivare ogni volta lanciando il seguente comando:

Riconoseremo l’attivazione dell’ambiente virtuale dal testo presente nella riga di comando.

Come potete vedere il nome dell’ambiente virtuale è riportato all’inizio tra due parentesi tonde.

Installazione di Numpy nel nuovo ambiente virtuale

Proprio a riprova di quanto detto in precedenza, installiamo uno dei paccchetti Python utili per OpenCV4: Numpy.

Quindi avremo la libreria Numpy installata nel nostro ambiente virtuale cv4. Questa non sarà accessibile (né visibile) a Python di default del sistema e quando l’ambiente virtuale verrà rimosso, lascerà la vostra configurazione di default di Python completamente inalterata.

La compilazione di OpenCV4 con CMake

Adesso possiamo uscire dal nostro ambiente virtuale e passare direttamente alla compilazione dei OpenCV4

Per prima cosa dobbiamo configurare il build di OpenCV4 con CMake

Adesso possiamo finalmente compilare. Questa operazione richiederà abbondante tempo, quindi prendete l’occasione per farvi una pausa (magari un caffè).

Nel mio caso ho utilizzato l’opzione -j4 perchè il mio sistema lavora su 4 processori. Ma utilizzata il valore corrispondente al vostro sistema. Per conoscere il numero di processori presenti sul vostro sistema lanciate il comando:

Una volta completata l’installazione, possiamo installare il compilato nel nsotro sistema.

Aggiungere il Link di OpenCV4 all’ambiente virtuale

Adesso dobbiamo fare in modo di aggiungere un link per rendere accessibile il compilato di OpenCV4 nel nostro ambiente virtuale. Quindi per prima cosa attiviamo l’ambiente virtuale.

Adesso che siamo entrati nell’ambiente virtuale possiamo creare il link simbolico. Per prima cosa accedete nella directory dei pacchetti della versione Python che state utilizzando nel virtualenv.

Questo passo è molto importante, perché senza questo link non sarebbe possibile importare opencv in Python.

Test dell’installazione di Python

Adesso l’installazione di Open CV 4 su Ubuntu è completata. Possiamo controllare se tutto è andato correttamente,

E adesso Buon divertimento! 😉


Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.