Guida per principianti alla configurazione della libreria OpenCV Android su Android Studio

Guida per principianti alla configurazione della libreria OpenCV Android su Android Studio

Di recente ho iniziato un progetto che prevedeva di lavorare con OpenCV su Android. La maggior parte delle guide sulla configurazione della libreria su Android erano obsolete o non complete. Quindi, dopo aver ricevuto diverse richieste da parte dei compagni di squadra su come configurare la libreria, ho deciso di scrivere una guida semplice e definitiva su questo argomento.

Image Detection (Source)

 

 

1: Scaricare la libreria OpenCV Android

Andare alla pagina OpenCV Android Sourceforge e scaricare l’ultima libreria OpenCV Android. Al momento della stesura di questo post, l’ultima versione disponibile era la 3.4.1.

Al termine del download, è necessario estrarre il contenuto del file zip in una cartella.

 

Fase 2: Impostazione del progetto

Create un nuovo progetto Android con Android Studio solo se non ne avete già creato uno per il vostro progetto di computer vision.

Nota: saltare questo passaggio se si dispone già di un progetto Android in cui si desidera utilizzare la libreria OpenCV.

Passo 3: Importare il modulo OpenCV

Dopo aver creato con successo un progetto Android, è il momento di importare il modulo OpenCV nel progetto Android. Fare clic su File -> Nuovo -> Importa modulo…

Dovrebbe apparire una finestra a comparsa come l’immagine sottostante, in cui è possibile selezionare il percorso del modulo che si desidera importare.

Cercare la cartella in cui è stato estratto il contenuto del file zip della libreria OpenCV Android. Selezionare la cartella java all’interno della cartella sdk.

Dopo aver selezionato il percorso corretto e aver fatto clic su OK, dovrebbe apparire una schermata come quella riportata di seguito.

Fare clic su Avanti per passare alla schermata successiva. Nella schermata successiva (l’immagine qui sotto) si devono lasciare selezionate le opzioni predefinite e fare clic su Fine per completare l’importazione del modulo.

Passo 4: Correzione degli errori di sincronizzazione di Gradle

Al termine dell’importazione della libreria OpenCV, si dovrebbe verificare un errore di compilazione di Gradle. Questo accade perché la libreria utilizza un vecchio SDK Android che probabilmente non è ancora installato.

Per risolvere rapidamente questo errore, passate dal riquadro Android al riquadro Progetto sul lato sinistro di Android Studio.

Cercare il modulo della libreria OpenCV e aprire il file build.gradle.

Per risolvere l’errore, basta cambiare compileSdkVersion e targetSdkVersion con l’ultima versione di Android SDK o con quella installata sul PC. Dopo aver modificato la versione, si deve fare clic sul pulsante di sincronizzazione, in modo che Gradle possa sincronizzare il progetto.

Suggerimento rapido: buildToolsVersion può essere ignorato

 

Passo 5: Aggiungere la dipendenza OpenCV

Per lavorare con la libreria OpenCV di Android, è necessario aggiungerla al modulo dell’applicazione come dipendenza. Per farlo facilmente in Android Studio, fate clic su File -> Struttura del progetto.

Quando si apre la finestra di dialogo della struttura del progetto, fare clic sul modulo dell’applicazione o su qualsiasi altro modulo in cui si desidera utilizzare la libreria OpenCV.

Dopo aver navigato fino al modulo, fare clic sulla scheda Dipendenze. Si dovrebbe vedere un pulsante verde più all’estrema destra della finestra di dialogo; fare clic su di esso e selezionare Dipendenza modulo.

Quando si apre la finestra di dialogo Scegliere i moduli, selezionare il modulo della libreria OpenCV e fare clic su OK.

Quando si torna alla pagina delle dipendenze, confermare che il modulo è stato effettivamente aggiunto come dipendenza e fare clic sul pulsante OK per continuare.

Passo 6: Aggiungere le librerie native

Nell’esploratore di file, navigare nella cartella in cui è stato estratto il contenuto del file zip della libreria OpenCV Android. Aprire la cartella sdk e poi la cartella native (utilizzare l’immagine sottostante come guida).

Copiare la cartella libs nella cartella nativa nella cartella principale del modulo dell’applicazione del progetto (di solito NomeProgetto/app/src/main).

Rinominare la cartella libs appena copiata nel progetto in jniLibs.

Passo 7: Aggiungere i permessi necessari

Per utilizzare correttamente OpenCV, l’applicazione deve avere l’autorizzazione per la fotocamera aggiunta al file AndroidManifest.xml.

Suggerimento: Non dimenticate di richiedere l’autorizzazione alla fotocamera in fase di esecuzione su Android 6 e versioni successive.

Passo 8: Prova del campione

Per confermare la corretta integrazione della libreria OpenCV Android, potete provare uno degli esempi inclusi nel file zip della libreria.

Proviamo l’esempio del rilevamento del colore (color-blob-detection). Potete vedere l’esempio in azione qui sotto:

Aggiornare rapidamente l’attività principale dell’applicazione con il codice seguente.

Creare quindi una nuova classe chiamata ColorBlobDetector e copiarvi il codice sottostante.

Infine, aggiornare il file di layout dell’attività principale dell’applicazione con il codice di layout riportato di seguito.

Passo 9: Utilizzo di OpenCV Manager

Poiché nell’APK dell’applicazione sono state inserite librerie native, le dimensioni dell’APK dell’applicazione saranno molto grandi.

Un modo per risolvere questo problema è utilizzare le suddivisioni ABI, in modo da avere in un APK solo le librerie necessarie per ogni dispositivo.

L’altro modo per risolvere il problema delle dimensioni è usare OpenCV Manager. Nella cartella in cui è stato estratto il contenuto delle librerie, c’è una cartella chiamata apk che contiene il gestore OpenCV per le varie architetture.

Selezionare l’APK con l’architettura corretta del dispositivo di prova e utilizzare ADB tramite prompt dei comandi/linea per installarlo sul dispositivo.

 

Passo 10: Testare l’applicazione

Infine, premere il pulsante di esecuzione ed eseguire l’applicazione sul dispositivo di prova.

Nota: non dimenticate di concedere l’autorizzazione alla fotocamera su Android 6 e successivi.

Questo è tutto.

 

Articolo originale di Elvis Chidera

A Beginner’s Guide to Setting up OpenCV Android Library on Android Studio | by Elvis Chidera | AndroidPub | Medium

Share:

Contenuti
Torna in alto