Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android



Documenti analoghi
Laboratorio di Elaborazione e Trasmissione Video

Tale attività non è descritta in questa dispensa

Tecniche di progettazione e sviluppo di applicazioni mobile

Capitolo V : Il colore nelle immagini digitali

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

IRSplit. Istruzioni d uso 07/10-01 PC

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Corso di Informatica

L ambiente di sviluppo Android Studio

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

CTIconnect PRO. Guida Rapida

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

MANUALE D USO MANUALE D USO

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

InitZero s.r.l. Via P. Calamandrei, Arezzo

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

Sistema Informativo di Teleraccolta EMITTENTI

CD PAZIENTE. Breve guida all uso

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

INFORMATICA E GRAFICA PER IL WEB

Panoramica Masergy Communicator

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

Introduzione ad Eclipse

View Mobile User s Guide

ISTITUTO SUPERIORE D. MILANI MONTICHIARI CORSO DI AUTOCAD 2014/15 DOCENTE :GIOACCHINO IANNELLO

Organizzazione dell'interfaccia utente su Android

FIRESHOP.NET. Gestione Lotti & Matricole.

Progetto: Servizio location based per la ricerca di punti di interesse

Presentation Draw. Guida dell utilizzatore

Plate Locator Riconoscimento Automatico di Targhe

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

FLASHINVESTOR Manuale dell Utente

Elaborazione delle immagini e Pattern Recognition. Giovanni Scavello

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Introduzione a PhotoShop

Guida Google Cloud Print

developed by Emanuele De Carlo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Guida all installazione e all utilizzo di VeriFile Data Reports

Corso di: ECDL Core full 7 moduli

Album e figurine sono acquistabili nelle quantità desiderate da ciascun utente: da 1 a 1000 copie per ogni articolo.

Grafica Computerizzata

Integrazione InfiniteCRM - MailUp

Le novità di QuarkXPress 10.1

Sistemi Mobili e Wireless Android Primi passi

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani

Istruzioni per l uso della Guida. Icone utilizzate in questa Guida. Istruzioni per l uso della Guida. Software di backup LaCie Guida per l utente

Guida all uso di Java Diagrammi ER

Funzionamento del M.I.O. BOOK. 1. Che cos è il M.I.O. BOOK. 2. Avvio del M.I.O. BOOK»

DESCRIZIONE. Verifica le caratteristiche minime di funzionamento dell applicazione:

MANUALE DI INSTALLAZIONE OMNIPOINT

Bookenberg non è un softwere ma una piattaforma online, quindi:

Introduzione. Descrizione. FRITZ!APP Fon

Eclipse - Nozioni Base

2.7 La cartella Preparazioni e CD Quiz Casa

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Il Configuratore OFF- LINE in 5 mosse Per le istruzioni di installazione, vai alla fine di questo tutorial.

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

VETTOR DAL BITMAP AL VETTORIALE. Paolo Mantini TEORIA E PRATICA DELLA CONVERSIONE DELLE IMMAGINI DA RASTER A VETTORIALI

Laboratorio informatico di base

Asso. Con ordine si procederà ad esplorare il software.

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

PIATTAFORMA DOCUMENTALE CRG

U N I V E R S I T À D E G L I S T U D I D I S A L E R N O

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

Guida alla registrazione on-line di un NovaSun Log

MANUALE DI INSTALLAZIONE OMNIPOINT

Elaborazione testi: immagini

Visual basic base Lezione 01. L'ambiente di sviluppo

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

Componente evalue. ZUFFELLATO SERVICE s.r.l.

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

Test riconoscimento automatico espressioni del volto

Gestione Ordini On Line

Come visualizzare un dispositivo EZVIZ via web browser / Client mobile / client software ivms-4200

View Mobile User s Guide

VR e Kinect. Prof. Raffaella Folgieri

Approfondimenti. Contenuti

1 Istruzioni installazione ITC Items

CELLULARE FACILE. duckma.com PHONOTTO. User Manual. Versione: 1

Corso Eclipse. Prerequisiti. 1 Introduzione

OwnCloud Guida all installazione e all uso

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Introduzione Computer Graphics

Tutorial per il modulo Composizione e tecnica fotografica Un approfondimento sulla fotografia panoramica. Roberto Gonella, Alberto Terragni

D R O P B O X COS È DROPBOX:

CdL in Medicina Veterinaria - STPA AA

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Introduzione a Dev-C++

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Nuova ECDL NASCE UNA NUOVA COMPETENZA. LA TUA.

Guida Google Cloud Print

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Windows

robot zone di WALTER LUCETTI Visione artificiale parte quarta TRACKING

GUIDA DELL'UTENTE PER IL SOFTWARE P-TOUCH EDITOR. PJ-623/PJ-663 Stampante mobile. Versione 0 ITA

Prefazione Patente ECDL Patente Europea per la Guida del Computer AICA sette moduli Windows nella versione 7 Internet Explorer nella versione 8

Transcript:

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14 Cantarella Danilo

Introduzione OpenCV (Open Source Computer Vision Library) è una libreria disponibile per Windows, Linux, Mac OS, Android e ios Dispone di interfacce in C++, C, Python e Java L obiettivo è quello di offrire un supporto per applicazioni che hanno lo scopo di trasformare in tempo reale immagini e video 2

Applicazioni Alcuni esempi: Interazione uomo-macchina Motion tracking Riconoscimento di forme e colori Realtà aumentata Identificazione di oggetti Matching di immagini Camera calibration 3

Installazione (1) Per sviluppare con la versione Android della libreria, è possibile integrare il tutto con Eclipse Scaricare l SDK Android dall indirizzo https://developer.android.com/sdk/ e installarlo seguendo il tutorial disponibile all indirizzo http://developer.android.com/sdk/installing/ Scaricare la versione Android delle librerie OpenCV da http://opencv.org/ 4

Installazione (2) Importare su Eclipse la libreria scaricata seguendo il tutorial presente all indirizzo http://docs.opencv.org/doc/tutorials/introduction/a ndroid_binary_package/o4a_sdk.html Provare i progetti di esempio disponibili insieme alla libreria 5

Nozioni di base Android In Android ogni oggetto disegnato a schermo rappresentata una view Una singola schermata dell applicazione rappresenta un activity, che corrisponde quindi ad un azione che l utente può compiere Le activity comunicano tra di loro attraverso dei messaggi chiamati intent, che rappresenta dunque l azione compiuta AndroidManifest.xml cuore dell applicazione 6

Nozioni di base OpenCV In OpenCV le immagini sono rappresentate attraverso una struttura di tipo Mat Funzione Mat oncameraframe(mat ainputframe) per l elaborazione in tempo reale dei frame prodotti dalla camera del dispositivo API Java -> http://docs.opencv.org/java/ 7

Creazione progetto Per creare un progetto Android su Eclipse bisogna fare New -> Project, scegliere Android Application Project e seguire la procedura guidata Per poter utilizzare anche la libreria OpenCV, dalle proprietà del progetto, sulla scheda Android, bisogna aggiungere la reference alla libreria OpenCV precedentemente importata su Eclipse 8

Struttura OpenCV OpenCV ha una struttura a moduli: Core Imgproc Highgui Calib3d Features2d Objdetect Video Gpu 9

Modulo core Fornisce le strutture base per la manipolazione delle immagini a livello del singolo pixel Permette operazioni come: L acquisizione e la memorizzazione di immagini Regolazione contrasto e luminosità Operazioni bit a bit sulle matrici Disegnare oggetti (punti, forme geometriche) sulle matrici 10

Modulo imgproc Fornisce le funzioni per il processing delle immagini. Esempi: Smoothing di immagini Operazioni morfologiche Binarizzazione Creazione di filtri personalizzati Edge detector Trasformazioni affini Calcolo degli istogrammi 11

Modulo highgui Fornisce gli strumenti per effettuare operazioni di I/O su immagini Permette l acquisizione, la creazione e la modifica (come ad esempio la compressione) di video Permette di interfacciarsi con l utente 12

Progetto realizzato (1) Applicazione Android Activity principale 13

Progetto realizzato (2) Applicazione Android Activity della camera 14

Progetto realizzato (3) Struttura dell applicazione: Activity principale costituita da 4 linear layout orizzontali dove sono presenti i bottoni per richiamare le varie funzioni disponibili Activity della camera che gestisce attraverso degli switch tutte le funzionalità presenti Opzioni di personalizzazione disponibili per ogni funzione 15

Progetto realizzato (4) Funzioni implementate: 1. Algoritmo di Canny 2. Operatore di Sobel 3. Thresholding 4. Operazioni morfologiche 5. Visualizzazione canali RGB 6. Detect del colore nello spazio HSV 7. Riconoscimento di forme geometriche 16

Algoritmo di Canny Funzione Canny del modulo imgproc Frame della camera in input Possibilità di modificare i valori delle due soglie di thresholding Soglie di default settate rispettivamente a 100 e 200 17

Operatore di Sobel Funzione Sobel del modulo imgproc Possibilità di cercare solo i lati orizzontali, solo quelli verticali oppure entrambi (opzione selezionata inizialmente) 18

Thresholding (1) Funzione threshold del modulo imgproc Possibilità di modificare la soglia di thresholding attraverso il tasto opzioni (soglia di thresholding settata di default a 100) 19

Thresholding (2) Ulteriore modalità di thresholding (selezionabile dal tasto opzioni) disponibile attraverso la funzione adaptivethreshold del modulo imgproc In questo caso la soglia di thresholding viene determinata automaticamente in base al contenuto dell immagine corrente Uso di un filtro mediano per ridurre il rumore 20

Operazioni morfologiche (1) 21

Operazioni morfologiche (2) Funzione getstructuringelement di imgproc per la creazione dell elemento strutturante (rettangolo, croce o ellisse) Operazioni morfologiche implementate: Erosione: funzione erode di imgproc Dilatazione: funzione dilate di imgproc Chiusura e apertura: funzione morphologyex di imgproc Possibilità tramite il tasto opzioni di modificare la grandezza dell elemento strutturante (settata di default a 5x5) 22

Canali RGB Funzione extractchannel del modulo core Funzione alternativa split del modulo core che però presenta problemi di saturazione della memoria Scelta del canale da visualizzare tramite il tasto opzioni (canale rosso visualizzato inizialmente) 23

Detect del colore HSV (1) 24

Detect del colore HSV (2) Funzione cvtcolor del modulo imgproc per convertire l immagine nello spazio HSV Funzione inrange del modulo core per il detect del colore (rosso, verde o blu) Tonalità espressa in 180 Doppio range per il rosso Singolo per verde e blu 25

Riconoscimento di forme (1) Ricerca dei contorni dell immagine filtrata attraverso l applicazione di Canny 26

Riconoscimento di forme (2) Filtraggio dei contorni troppo piccoli Ricerca dei migliori poligoni che approssimano i contorni trovati 27

Riconoscimento di forme (3) Funzione findcontours del modulo imgproc per trovare i contorni in base ad una determinata approssimazione Funzione approxpolydp del modulo imgproc per determinate il miglior poligono per ogni contorno trovato Ricerca di poligoni che approssimano meglio quadrilateri, pentagoni, esagoni, ettagoni ed ottagoni I cerchi vengono approssimati con 8 lati Funzione drawcontours del modulo core per disegnare sul frame originale i poligoni riconosciuti 28

Link utili Eclipse: http://www.eclipse.org/ OpenCV: http://opencv.org/ SDK Android: https://developer.android.com/sdk/ API OpenCV: http://docs.opencv.org/java/ API Android: http://developer.android.com/reference/classes.html Tutorial: http://docs.opencv.org/doc/tutorials/tutorials.html 29