Face detection con Haar features. Annalisa Franco

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Face detection con Haar features. Annalisa Franco"

Transcript

1 Face detection con Haar features Annalisa Franco

2 2 Face detection con Haar features Obiettivo dell esercitazione è la realizzazione di un algoritmo per la localizzazione del volto basato su Haar features e classificatore SVM. In particolare, data in input un immagine RGB, l algoritmo dovrà restituire un insieme di possibili volti, rappresentati come insieme di oggetti di tipo FaceLocationCandidate; ciascun candidato è descritto dalla bounding box del volto (Rectangle) e da uno score (double). Il sistema di classificazione necessita di una fase preliminare di training durante la quale viene addestrato il classificatore SVM a partire da un insieme di esempi positivi (immagini di volti) ed esempi negativi (immagini di «non volti»).

3 3 Haar-like features A B C D Le feature si estraggono applicando all immagine una serie di maschere binarie. Applicare una maschera in una determinate posizione significa sommare i valori dei pixel nell area bianca e sottrarre il valore dei pixel nell area nera. L estrazione di feature deve avvenire applicando ciascuna delle maschere in tutte le possibili posizioni dell immagine di input. Una posizione è considerata valida se la maschera è interamente contenuta nell immagine. L applicazione efficiente delle maschere richiede il calcolo dell immagine integrale.

4 4 L immagine integrale L immagine integrale in posizione (r,c) è la somma del valore dei pixel sopra e a sinistra di (r,c): (r,c) II r, c I r', c' r' r, c' c L immagine integrale può essere calcolata con una sola scansione dell immagine originale usando le seguenti formule ricorsive: S(r,c) = S(r,c-1) + I(r,c) II(r,c) = II(r-1,c) + S(r,c) dove I(r,c) è il valore del pixel nell immagine originale, S(r,c) è la somma cumulativa per righe, S(r,-1)=0 e II(-1,c)=0.

5 5 Calcolo efficiente di feature rettangolari Usando l immagine integrale, è possibile calcolare la somma del valore dei pixel in qualsiasi rettangolo. Ad esempio la somma all interno del rettangolo D è data da: II(4) + II(1) II(2) II(3) Le feature caratterizzate da 2, 3 o 4 rettangoli possono essere calcolati usando rispettivamente 6, 8 e 9 valori di riferimento.

6 6 L applicazione.. Training Parametri Segmentazione pelle Input Output

7 7 FaceDetector La classe FaceDetector (file FaceDetector.cs) implementa il meccanismo di localizzazione dei volti. La classe espone il metodo Train(Image<Gray, byte>[] trainingimages, int[] traininglabels) per il training del classificatore a partire da un array di immagini grayscale (trainingimages) e di relative label di classe (traininglabels). Il modello usato per la classificazione è un classificatore SVM messo a disposizione dalla libreria Emgu CV. Il test può essere effettuato usando il metodo knn.predict(sample);!!! Il metodo predict non restituisce lo score!!! La localizzazione si basa su sliding window (finestra mobile di dimensione crescente) che viene fatta scorrere su tutta l immagine. Solo le finestre che contengono almeno il 60% di pixel compatibili con il colore della pelle vengono analizzate.

8 8 HaarFaceFeatureExtractor (1) La classe HaarFaceFeatureExtractor implementa l estrazione di feature. I metodi da implementare in questa classe sono: Image<Gray, int> CalculateIntegralImage(Image<Gray, byte> image) Calcolo dell immagine integrale a partire dall immagine grayscale image. int CalculateRectSum(Image<Gray, int> integralimage, Point p1, Point p2, Point p3, Point p4) Calcolo della somma del valore dei pixel all interno di un rettangolo (corner p1, p2, p3 e p4) sulla base del immagine integrale. float[] ExtractFeatures(Image<Gray, byte> image) Calcolo del feature vector associato a image. Il vettore finale si ottiene concatenando i valori delle singole feature ottenute applicando le maschere A, B, C e D in tutte le posizioni possibili.

9 9 HaarFaceFeatureExtractor (2) Nel metodo ExtractFeatures per ciascuna maschera sono definite le dimensioni del singolo elemento rettangolare della maschera. Ad esempio: int featurea_width = 5; double aspectratioa = 1.5; int featurea_height = (int)(featurea_width*aspectratioa); A 5 Le maschere vengono applicate solo nella dimensione specificata, non viene operata nessuna riscalatura. Costruire il feature vector applicando ciascuna maschera in tutte le posizioni possibili (prima tutti i valori della maschera A in ogni pixel, poi quelli di B e così via). 7

10 Qualche risultato 10

Classificazione di immagini aeree. Annalisa Franco

Classificazione di immagini aeree. Annalisa Franco Classificazione di immagini aeree Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 Classificazione di immagini aeree Scopo di questa esercitazione è l implementazione di una tecnica

Dettagli

Segmentazione basata su colore. Annalisa Franco

Segmentazione basata su colore. Annalisa Franco Segmentazione basata su colore Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 La segmentazione Scopo di questa esercitazione è l implementazione di tecniche di segmentazione basate

Dettagli

Segmentazione di impronte digitali. Annalisa Franco

Segmentazione di impronte digitali. Annalisa Franco Segmentazione di impronte digitali Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 La segmentazione Scopo di questa esercitazione è l implementazione di una tecnica di segmentazione

Dettagli

Grocery product detection. Annalisa Franco

Grocery product detection. Annalisa Franco Grocery product detection Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 Grocery product detection? Obiettivo dell esercitazione è la realizzazione di un sistema di localizzazione

Dettagli

Esercitazione introduttiva. Annalisa Franco

Esercitazione introduttiva. Annalisa Franco Esercitazione introduttiva Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 OpenCV e Emgu CV La libreria OpenCV (https://opencv.org/) è una libreria per Computer Vision totalmente

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 10 Combinazione di classificatori Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

Estrazione di feature locali per il riconoscimento del volto

Estrazione di feature locali per il riconoscimento del volto Estrazione di feature locali per il riconoscimento del volto Simone Buoncompagni Università di Bologna (sede di Cesena) Facoltà di Scienze Matematiche, Fisiche e Naturali Laurea Magistrale in Scienze e

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 8 21 Novembre 2007 Funzioni in C Un programma C si compone di funzioni E' disponibile una collezione predefinita di funzioni che possono essere

Dettagli

Impronte digitali. Motivazioni. Matching basato su correlazione e analisi del ridge pattern. Perché usare feature diverse dalle minuzie?

Impronte digitali. Motivazioni. Matching basato su correlazione e analisi del ridge pattern. Perché usare feature diverse dalle minuzie? Impronte digitali Matching basato su correlazione e analisi del ridge pattern Annalisa Franco annalisa.franco@unibo.it Dario Maio dario.maio@unibo.it Motivazioni Perché usare feature diverse dalle minuzie?

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

Indicizzazione di feature locali. Annalisa Franco

Indicizzazione di feature locali. Annalisa Franco 1 Indicizzazione di feature locali Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 Introduzione I descrittori locali sono vettori di uno spazio N- dimensionale (alta dimensionalità)

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Puntatori e array. Violetta Lonati

Puntatori e array. Violetta Lonati Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array

Dettagli

d. Cancellazione del valore 5 e. Inserimento del valore 1

d. Cancellazione del valore 5 e. Inserimento del valore 1 Esercizio1 Si consideri un albero binario non vuoto in cui a ciascun nodo v è associato un numero reale v.val. Scrivere un algoritmo che, dato in input l'albero T e un numero reale x, restituisce true

Dettagli

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 1) In un diagramma di flusso, la rappresentazione di un ciclo WHILE include sicuramente almeno:

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Dettagli

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010 Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Correlatore: Ing. Andrea Claudi

Corso di Laurea Specialistica in Ingegneria Informatica. Correlatore: Ing. Andrea Claudi Corso di Laurea Specialistica in Ingegneria Informatica Candidato: Gianluca Dolcini Relatore: Prof. Aldo Franco Dragoni Correlatore: Ing. Andrea Claudi Scenario: identificazione di volti per monitoraggio

Dettagli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Esercizi

Esercizi Esercizi Si implementi una funzione che riceve in input una matrice NxM di float. Definito picco un numero circondato in tutte le posizioni intorno solo da numeri strettamente inferiori alla sua metà,

Dettagli

L2 Elaborazione di immagini in C/C++

L2 Elaborazione di immagini in C/C++ L2 Elaborazione di immagini in C/C++ Corso di Visione Artificiale Ing. Luca Mazzei AA 2009/2010 Visione Artificiale 2 Formato immagini Utilizziamo il formato PGM PPM P4 = PBM P5 = PGM P6 = PPM P5 320 240

Dettagli

Fondamenti di Informatica L-A. Esercitazione 6

Fondamenti di Informatica L-A. Esercitazione 6 Fondamenti di Informatica L-A Esercitazione 6 Passaggio dei Parametri nelle Funzioni Ordinamento di Vettori Paolo Torroni Università degli Studi di Bologna Laurea in Ingegneria Elettronica e delle Telecomunicazioni

Dettagli

Algoritmi di ordinamento (I parte)

Algoritmi di ordinamento (I parte) Algoritmi di ordinamento (I parte) E2: sommario Classificazione degli algoritmi di ordinamento Studio di due implementazioni di algoritmi che utilizzano interfaccia Comparable Algoritmo per inserimento

Dettagli

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori:

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori: Le tabelle In C, dato un tipo di variabile, è possibile costruire un array di variabili di tale tipo usando la dichiarazione (facendo l esempio per il tipo float): float vettore[100]; Applicando lo stesso

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Programmazione in MATLAB Gestione File Grafici E s e rc i t a z i o n e 4 P r o f. R a f f a e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 carburante La matrice rappresenta

Dettagli

Le strutture. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA

Le strutture. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I" Prof. Franco FRATTOLILLO Dipartimento di Ingegneria Università degli Studi del Sannio Le strutture

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it

Dettagli

Lezione 8 Struct e qsort

Lezione 8 Struct e qsort Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort

Dettagli

Università degli Studi di Catania. DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Informatica.

Università degli Studi di Catania. DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Informatica. Università degli Studi di Catania FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Informatica Computer Vision Segmentazione di Immagini: tecniche di soglia e region growing

Dettagli

Introduzione al C++ (continua)

Introduzione al C++ (continua) Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x

Dettagli

Esercitazione di Matematica Computazionale del 16/12/2008

Esercitazione di Matematica Computazionale del 16/12/2008 Esercitazione di Matematica Computazionale del 16/12/2008 Applicazioni della Singular Value Decomposition Riconoscimento di Volti mediante Eigenface 1. Rappresentazione di un volto nella base dei suoi

Dettagli

Segmentazione automatica della carotide basata sulla classificazione dei pixel

Segmentazione automatica della carotide basata sulla classificazione dei pixel Segmentazione automatica della carotide basata sulla classificazione dei pixel Samanta Rosati, Filippo Molinari, Gabriella Balestra Biolab, Dipartimento di Elettronica e Telecomunicazioni, Politecnico

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

SOMMARIO HIERARCHICAL HOUGH FINGERPRINT MATCHING. Introduzione. HHT (Hierarchical Hough Transform) Prestazioni. Libreria Performance del BioLab

SOMMARIO HIERARCHICAL HOUGH FINGERPRINT MATCHING. Introduzione. HHT (Hierarchical Hough Transform) Prestazioni. Libreria Performance del BioLab HIERARCHICAL HOUGH TRANSFORM FOR FINGERPRINT MATCHING A cura di Claudio Curzi 0000321770 SOMMARIO Introduzione HHT (Hierarchical Hough Transform) Prestazioni Libreria Performance del BioLab 1 INTRODUZIONE

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016

Dettagli

Limitazioni dei sistemi mono-modali

Limitazioni dei sistemi mono-modali Sistemi i multi-biometrici t i i Dario Maio dario.maio@unibo.it Annalisa Franco annalisa.franco@unibo.it Limitazioni dei sistemi mono-modali Rumore oe nei dati acquisiti dovuto o al sensore o a condizioni

Dettagli

Keypoint e descrittori locali. Annalisa Franco

Keypoint e descrittori locali. Annalisa Franco 1 Keypoint e descrittori locali Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ Image point matching 2 Esempi 3 Cosa serve per allineare immagini? 4 5 Soluzione con feature locali

Dettagli

LABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE)

LABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE) LABORATORIO DI PROGRAMMAZIONE 2007 2008 TURNO 3 (SERALE) 3XII2008 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min 1 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe Arrays

Dettagli

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica A.A. 2016/17 Fondamenti di Informatica Int ro d u z i o n e a l l a p ro g ra m m a z i o n e i n M AT L A B : E s e rc i ta z i o n e 2 P ro f. C h r i st i a n E s p o s i to C o rs o d i L a u re a i n I n g e g

Dettagli

Video Analysis (cenni) Annalisa Franco

Video Analysis (cenni) Annalisa Franco 1 Video Analysis (cenni) Annalisa Franco annalisa.franco@unibo.it http://bias.csr.unibo.it/vr/ 2 Visual motion Un video è una sequenza di frame catturati nel corso del tempo Il valori dell immagine sono

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Dettagli

Esercizi per il corso di Algoritmi, anno accademico 2011/12

Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, nè in C++, etc. ). Di tutti gli

Dettagli

SUPPORT VECTOR MACHINES. a practical guide

SUPPORT VECTOR MACHINES. a practical guide SUPPORT VECTOR MACHINES a practical guide 1 SUPPORT VECTOR MACHINES Consideriamo un problema di classificazione binaria, a partire da uno spazio di input X R n e uno spazio di output Y = { 1, 1} Training

Dettagli

Esercitazione Programmazione I con Laboratorio

Esercitazione Programmazione I con Laboratorio Esercitazione Programmazione I con Laboratorio Basi e Rappresentabilità Esercizio 1 Conversione e modulo a segno Tradurre in base 10 i seguenti numeri rappresentati in base due e modulo a segno (sign-module),

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Programmazione in MATLAB Gestione File Grafici E s e rc i t a z i o n e 4 Po s s i b i l i S o l u z i o n i P r o f. R a f f a e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 iesel

Dettagli

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 1 aprile 2011 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Programmazione in MATLAB Gestione File Grafici E s e rc i t a z i o n i Pe r C a s a P r o f. R a f f a e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 Esercitazioni per Casa Indice

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Cognome................................ Nome................................... Matricola............................... Algoritmi e Strutture Dati Prova scritta del 2 febbraio 201 TEMPO DISPONIBILE: 2

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate

Dettagli

strutture e file di testo/binari Esercizio - lettura/filtro/scrittura PEOPLE.TXT PARTNERS.DAT Due persone sono compatibili

strutture e file di testo/binari Esercizio - lettura/filtro/scrittura PEOPLE.TXT PARTNERS.DAT Due persone sono compatibili Fondamenti di Informatica T-1 modulo 2 Laboratorio 06: strutture e file di testo/binari 1 Esercizio i 1: Strutture tt e file Esercizio - lettura/filtro/scrittura È dato un file di testo PEOPLE.TXT che

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Skin Detection & Iris Normalization Fondamenti di Visione Artificiale a.a. 2015/2016 12/05/16 Estrazione dei Contorni 1 Skin Detection - Introduzione Il processo di skin detection

Dettagli

Lezione 6 Struct e qsort

Lezione 6 Struct e qsort Lezione 6 Struct e qsort Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Struct Struct Fino ad ora abbiamo utilizzato

Dettagli

Lab 16 Gestione file binari"

Lab 16 Gestione file binari Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 16 Gestione file binari" Lab16 1

Dettagli

Algoritmo di ordinamento sul posto che ha tempo di esecuzione :

Algoritmo di ordinamento sul posto che ha tempo di esecuzione : QuickSort Algoritmo di ordinamento sul posto che ha tempo di esecuzione : - O(n 2 ) nel caso peggiore - O(n log n) nel caso medio Nonostante le cattive prestazioni nel caso peggiore, rimane il miglior

Dettagli

Confronto tra due algoritmi di machine learning, Random Forest e Support Vector Machine, applicati al telerilevamento da drone

Confronto tra due algoritmi di machine learning, Random Forest e Support Vector Machine, applicati al telerilevamento da drone Confronto tra due algoritmi di machine learning, Random Forest e Support Vector Machine, applicati al telerilevamento da drone AIT - ENEA 11 WORKSHOP TEMATICO Osservazione della Terra: Georisorse, Risorse

Dettagli

Strutture Dati Efficienti per la Ricerca della Similarità

Strutture Dati Efficienti per la Ricerca della Similarità Strutture Dati Efficienti per la Ricerca della Similarità Introduzione Alberi B e B+ Clustering Alberi B+ Multidimensionali Alberi K-d Grid Files R Tree Introduzione er un insieme di oggetti multimediali,

Dettagli

Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering

Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering tesi di laurea Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering Anno Accademico 2005/2006 relatore Ch.ma prof. Anna Rita Fasolino correlatore Ch.mo prof.

Dettagli

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa. 3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il

Dettagli

Problem Set 3 docente: Luciano Gualà

Problem Set 3 docente: Luciano Gualà Problem Set 3 docente: Luciano Gualà Esercizio (una domanda semplice ma non troppo) Dire se può esistere un algoritmo di ordinamento basato su confronti che ordina un insieme di 8 elementi facendo nel

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica I ntroduzione alla programmazione in MATLAB E s e rc i t a z i o n e 1 P r o f. R a f f a e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 Esercizio 1 Scrivere una funzione, chiamata

Dettagli

Aritmetica dei Calcolatori - Operazioni

Aritmetica dei Calcolatori - Operazioni Aritmetica dei Calcolatori - Operazioni Luca Abeni March 2, 2016 Implementazione di Operazioni su Numeri Interi Abbiamo visto come rappresentare numeri naturali ed interi in un computer... Sequenze di

Dettagli

Segmentazione di immagini in scala di grigio basata su clustering

Segmentazione di immagini in scala di grigio basata su clustering Segmentazione di immagini in scala di grigio basata su clustering Davide Anastasia, Nicola Cogotti 24 gennaio 06 1 Analisi del problema La segmentazione di immagini consiste nella suddivisione in un certo

Dettagli

A.A. 2018/2019. Esercitazione 5. Modellazione e Risoluzione di Problemi mediante MATLAB. [ Possibili Soluzioni ]

A.A. 2018/2019. Esercitazione 5. Modellazione e Risoluzione di Problemi mediante MATLAB. [ Possibili Soluzioni ] A.A. 2018/2019 Esercitazione 5 Modellazione e Risoluzione di Problemi mediante MATLAB [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE D Durate (in Secondi)

Dettagli

PROGRAMMAZIONE II canale A-D luglio 2008 TRACCIA DI SOLUZIONE

PROGRAMMAZIONE II canale A-D luglio 2008 TRACCIA DI SOLUZIONE PROGRAMMAZIONE II canale A-D 2007-2008 14 luglio 2008 TRACCIA DI SOLUZIONE 1. Si vogliono realizzare mediante puntatori delle liste circolari, cioè delle liste tali che l ultimo elemento della lista punta

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array Lab06 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 06 Array" Lab06 1 Esercizio 1" n Creare un programma che legga da input un numero non noto a priori di interi

Dettagli

Algoritmi e Strutture Dati Laboratorio 15/12/2008. Daniele Loiacono

Algoritmi e Strutture Dati Laboratorio 15/12/2008. Daniele Loiacono Algoritmi e Strutture Dati Laboratorio 15/12/2008 Problema della compressione Rappresentare i dati in modo efficiente Impiegare il numero minore di bit per la rappresentazione Goal: risparmio spazio su

Dettagli

ESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double;

ESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; ESERCIZIO 1 Si realizzi un programma C che: 1. allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; 2. chieda all utente di inserire gli elementi dei due vettori

Dettagli

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi

Dettagli

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento

Dettagli

12 Function Handles e Ricorsione in MATLAB

12 Function Handles e Ricorsione in MATLAB 1 Function Handles e Ricorsione in MATLAB Un function handle è una variabile il cui valore è una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome

Dettagli

ELABORAZIONE DELLE IMMAGINI:

ELABORAZIONE DELLE IMMAGINI: Università degli Studi di Catania Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica, Secondo Livello ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Corso di Analisi Numerica

Dettagli

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi Fondamenti di Informatica T-1 modulo 2 Laboratorio 10: preparazione alla prova d esame 1 Esercizio 1 - Gestione degli impegni Gli impegni giornalieri dei dipendenti di un azienda devono essere aggiornati

Dettagli

ESERCIZIO 1 ESERCIZIO 2

ESERCIZIO 1 ESERCIZIO 2 ESERCIZIO 1 Scrivere una funzione che data una stringa A calcoli la sua lunghezza. int lunghezza(char A[]); Scrivere una funzione che date due stringhe A e B copi il contenuto di A in B e restituisca il

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.

Dettagli

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 08 Stringhe e strutture Lab12 1 Esercizio

Dettagli

Laboratorio di algoritmi e strutture dati

Laboratorio di algoritmi e strutture dati Laboratorio di algoritmi e strutture dati Docente: Violetta Lonati mercoledì 15 novemb017 L esercitazione di oggi prevede di utilizzare gli alberi binari e in particolare gli alberi binari di ricerca.

Dettagli

ESERCITAZIONI DI INTRODUZIONE AGLI ALGORITMI (A.A. 08/09)

ESERCITAZIONI DI INTRODUZIONE AGLI ALGORITMI (A.A. 08/09) ESERCITAZIONI DI INTRODUZIONE AGLI ALGORITMI (A.A. 08/09) DISPENSA N. 4 1. Ricerca Binaria Ricorsiva L algoritmo Ricerca Binaria risolve il problema della ricerca di una chiave in un vettore. È un esempio

Dettagli

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami

Dettagli

Apprendimento Automatico

Apprendimento Automatico Apprendimento Automatico Fabio Aiolli www.math.unipd.it/~aiolli Sito web del corso www.math.unipd.it/~aiolli/corsi/1516/aa/aa.html Rappresentazione dei dati con i kernel Abbiamo una serie di oggetti S

Dettagli

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A. 2018-2019 Programmazione Lezione 12A Esercizi in MATLAB Docente: Lorenzo Caruso lorenzo.caruso@unife.it Nelle lezioni precedenti Matlab:

Dettagli

SECONDA PROVA INTERMEDIA DEL MODULO DI

SECONDA PROVA INTERMEDIA DEL MODULO DI SECONDA PROVA INTERMEDIA DEL MODULO DI CORSO DI LAUREA IN INGEGNERIA ELETTRICA, ELETTRONICA ED INFORMATICA CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ISCRITTI ALL A.A. 2017/18 e precedenti 3 giugno 2019 NOME:

Dettagli

Fondamenti di Informatica T-1 Modulo 2. Obiettivo di questa esercitazione. File di testo File binari

Fondamenti di Informatica T-1 Modulo 2. Obiettivo di questa esercitazione. File di testo File binari Fondamenti di Informatica T-1 Modulo 2 Obiettivo di questa esercitazione File di testo File binari 2 1 1 Esercizio 1 Realizzare un programma che, aperto un file di testo di nome Prova.txt in modalità scrittura,

Dettagli

- proporvi due semplici algoritmi per l'ordinamento di un vettore

- proporvi due semplici algoritmi per l'ordinamento di un vettore Esercitazioni del corso di Laboratorio di Calcolo (Parte A) n. 7 Bis Un "manager" per l'ordinamento di un array di Shape (seconda parte dell'esercitazione n.7) Attenzione: il programma di questa esercitazione

Dettagli

Ricerca binaria ricorsiva!

Ricerca binaria ricorsiva! ESERCIZIO: RICERCA BINARIA! Soluzione Iterativa! int ricerca_bin (int vet[], int el) {int first=0, last=n-1, med=(first+last)/2; int T=0; while ((first

Dettagli

Sommario: Implementazione di un sistema di. riconoscimento volti in una immagine. basato sul metodo proposto da

Sommario: Implementazione di un sistema di. riconoscimento volti in una immagine. basato sul metodo proposto da TESINA VISIONE E PERCEZIONE Titolo: face detection Sommario: Implementazione di un sistema di riconoscimento volti in una immagine basato sul metodo proposto da Viola e Jones Autori : Mauro Sbarigia(matr:

Dettagli

Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 5, 2016 Alberi Esercizio 1 * [Libro 5.2] Dato un albero ordinato i cui nodi contengono valori interi, se ne vogliono

Dettagli