SISTEMA DI VISIONE PER LA VALUTAZIONE DEL CORRETTO IMPACCHETTAMENTO DI MOLLETTE IN PLASTICA: INDAGINE DI FATTIBILITA



Documenti analoghi
Laboratorio di Fisica 3 Ottica 2. Studenti: Buoni - Giambastiani - Leidi Gruppo: G09

Sistema operativo: Gestione della memoria

Statistica. Lezione 6

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Plate Locator Riconoscimento Automatico di Targhe

4 3 4 = 4 x x x 10 0 aaa

Studio di fattibilità per controllo stringhe stampate, con sistema di visione Omron su confezione di Ascorbate.

Soluzione dell esercizio del 2 Febbraio 2004

Interesse, sconto, ratei e risconti

( x) ( x) 0. Equazioni irrazionali

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2

Calcolo del Valore Attuale Netto (VAN)

Appunti sulla Macchina di Turing. Macchina di Turing

Gestione della memoria centrale

RILIEVO LASER SCANNER PARETE MARMOREA XXXXXXXXXXXXX

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Soluzione dell esercizio del 12 Febbraio 2004

Forze come grandezze vettoriali

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Corso di Psicometria Progredito

L analisi dei dati. Capitolo Il foglio elettronico

RIPETITORE DI SEGNALE WIRELESS PER SISTEMA VIA RADIO ART. 45RPT000

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Interesse, sconto, ratei e risconti

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Capitolo 13: L offerta dell impresa e il surplus del produttore

e-dva - eni-depth Velocity Analysis

Generazione Automatica di Asserzioni da Modelli di Specifica

Analisi e diagramma di Pareto

Uso di base delle funzioni in Microsoft Excel

Elementi di Psicometria con Laboratorio di SPSS 1

~ Copyright Ripetizionando - All rights reserved ~ STUDIO DI FUNZIONE

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

LE FUNZIONI A DUE VARIABILI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Funzioni in C. Violetta Lonati

MANUALE ESSE3 Gestione Registro delle lezioni

6.2 USM. Definizione dei contorni in un immagine

Si sa che la via più breve tra due punti è la linea retta. Ma vi siete mai chiesti, Qual è la via più breve tra tre punti? o tra quattro punti?

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

SISTEMI MULTIAGENTE. Esercizio


f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

CONTINUITÀ E DERIVABILITÀ Esercizi risolti

Calcolo Focale. Ing. Vincenzo Falanga

SPC e distribuzione normale con Access

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico)

Epoca k Rata Rk Capitale Ck interessi Ik residuo Dk Ek 0 S 0 1 C1 Ik=i*S Dk=S-C1. n 0 S

PARTICOLARI COSTRUTTIVI MURATURA ARMATA POROTON

Capitolo 2. Operazione di limite

Anno 4 Grafico di funzione

GESTIONE INTERESSI DI MORA. Impostazioni su Gestione Condominio. Addebito interessi su codice spesa 22. Immissione/gestione versamenti

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

manuale utente per Viabizzuno online

Il controllo della visualizzazione

Il sistema C.R.M. / E.R.M.

Guida Compilazione Piani di Studio on-line

Matematica in laboratorio

Dispositivi di rete. Ripetitori. Hub

EasyPrint v4.15. Gadget e calendari. Manuale Utente

1. Distribuzioni campionarie

ANALISI DELLE FREQUENZE: IL TEST CHI 2

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Guida all uso di Java Diagrammi ER

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette:

APPLICATION SHEET Luglio

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

Tutorial 3DRoom. 3DRoom

CONTROLLO IN TENSIONE DI LED

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Documento di accompagnamento: mediane dei settori bibliometrici

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Sistema di diagnosi CAR TEST

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Prova di autovalutazione Prof. Roberta Siciliano

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

ESERCITAZIONE Scrittura di un programma CNC per la fresatura di un componente dato

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Dimensione di uno Spazio vettoriale

Traduzioni & Corsi di Lingue Udine. Via Cussignacco 27/4. P. IVA: tel/fax: scuola@jmi.it

Esercitazione di Laboratorio - Leve di genere TITOLO ESERCITAZIONE: VERIFICA DELLE LEGGI DELLE LEVE

OSCILLOSCOPIO SOFTWARE

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Word processor funzione Stampa Unione

ESEMPIO 1: eseguire il complemento a 10 di 765

Sistema automatico di acquisizione e modellazione 3D a basso costo

Sistema Banca dati e Repertorio dei dispositivi medici Notifiche multiple di DM simili

Gestionalino-Base è un Software che gestisce altri Software Specifici progettati per

MODULO 5 ACCESS Basi di dati. Lezione 4

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo

Dispensa di Informatica I.1

Guida operativa per l utilizzo del tool

ROI, WACC e EVA: strumenti di pianificazione economico finanziaria Di : Pietro Bottani Dottore Commercialista in Prato

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

Transcript:

SISTEMA DI VISIONE PER LA VALUTAZIONE DEL CORRETTO IMPACCHETTAMENTO DI MOLLETTE IN PLASTICA: INDAGINE DI FATTIBILITA Studenti: Mazzotti Daniele matr. 72857 Rossini Diego matr. 74486 1. INTRODUZIONE In questo lavoro viene presentata una possibile soluzione al problema del controllo dell impacchettamento dell oggetto in esame: un set di dodici mollette in plastica per stendibiancheria. Il sistema di visione utilizzato comprende: una telecamera ueye 1460 usb a colori, due lampade a neon circolari, un diodo a lama di luce e software realizzato su piattaforma Labview. 1.1 Obiettivo La valutazione complessiva del pacchetto deriva dal risultato dei seguenti controlli: verifica del numero di mollette contenute (il quale deve essere pari a dodici); controllo della posizione delle mollette (ovvero non devono fuoriuscire dalla confezione); verifica dei colori: presenza di quattro mollette per ciascun colore con le quattro centrali bianche. Il pacchetto da studiare è mostrato nella figura a lato. Come si può notare esso è contenuto in un involucro di cellophane, imballaggio che ha introdotto un problema tecnico: la scelta del tipo di illuminazione. Il pacchetto infatti non può essere acquisito direttamente, in quanto la plastica rifletterebbe la luce diffusa presente nell ambiente di misura e la telecamera lavorerebbe su un immagine molto disturbata, al punto da rendere l esecuzione non possibile. La scelta del corretto sistema di illuminazione risulta dunque fondamentale, al fine di garantire la bontà dell immagine su cui lavorare. Dal punto di vista dello sviluppo software si sono presentate delle difficoltà relative al conteggio delle mollette ed alla valutazione del corretto valore dei colori. E stato inoltre necessario utilizzare, per motivi elencati in seguito, un diodo a lama di luce sfruttando la sua illuminazione in una camera oscura. 2. STRUTTURA DEL SISTEMA DI VISIONE Figura 1: Elemento da valutare 2.1 Telecamera utilizzata L applicazione in esame prevede, tra i vari controlli, anche quello del giusto ordine dei colori. Per questo motivo è stata utilizzata una telecamera ueye 1460 usb a colori, le cui specifiche d interesse sono riportate nella tabella a lato. Non vengono ora mostrati i dettagli relativi al tipo di ottica utilizzata, in quanto verranno trattati in seguito, nel calcolo della distanza focale e della working distance. Risoluzione 2048 1536 Tipo di sensore CMOS Dimensioni cella (µm) 3.2 3.2 Dimensioni sensore(mm) 6.55 4.92 Modello (colori) Bayer RGB pattern Interfaccia USB PDF processed with CutePDF evaluation edition www.cutepdf.com 1

2.2 Scelta dell illuminatore Un illuminazione adeguata, come già accennato, è fondamentale al fine di effettuare una corretta elaborazione delle immagini. Per questo motivo sono stati provati diversi tipi di illuminatori, fino ad arrivare alla scelta che ha permesso la giusta acquisizione da parte della telecamera. Lo scopo è quello di riuscire ad inquadrare il pacchetto delle mollette in maniera sufficientemente luminosa da mettere in risalto le parti metalliche ( per agevolare l operazione di conteggio che sfrutta l individuazione dei gancetti metallici), ma allo stesso tempo cercando di evitare qualsiasi tipo di riflessione sul pacchetto stesso. La prima tipologia di illuminazione provata è una front light bright field, utilizzando un illuminatore a luce diffusa. Il risultato della visualizzazione da parte della telecamera è mostrato nella figura 2. Si possono notare delle riflessioni del package in cellophane: fattore che già può bastare per poter affermare che questo tipo di illuminazione non è adatto per i nostri obiettivi. Inoltre a causa delle dimensioni dell illuminatore e della sua posizione rispetto alla telecamera, non è possibile includere tutto il FOV (field of view). E stato deciso dunque l utilizzo di un illuminazione di tipo front light dark field, al fine di togliere le riflessioni. Non è stato possibile però utilizzare un illuminatore circolare a led: la luce emessa risultava troppo radente, andando ad enfatizzare le riflessioni dovute a pieghe superficiali del pacchetto. Inoltre non veniva incluso tutto il FOV. La seconda prova è stata dunque eseguita utilizzando ancora l illuminatore a luce diffusa della prima prova, ma facendo in modo che esso incidesse lateralmente sul pacchetto illuminandolo a 45 gradi. La figura 3 illustra il risultato di questa prova. L immagine presenta pochissime riflessioni, ma risulta essere troppo scura. Il passaggio successivo è quello di mantenere la stessa posizione dell illuminazione, ma utilizzare un illuminatore diverso, in modo da ottenere più luce. La lampada scelta è un neon circolare montato come il precedente illuminatore, ovvero facendo in modo che la sua luce incidesse lateralmente. Il risultato è mostrato nella figura 4. Figura 2 Illuminazione front light bright field Figura 3 Illuminazione front light dark field Si può notare come le mollette siano ben illuminate e le riflessioni risultino praticamente nulle. C è però ancora un problema: i ferretti delle mollette non sono tutti ben enfatizzati. Quelli posizionati in centro risultano illuminati, mentre quelli laterali lo sono un pò meno. Questo fatto può comportare problemi in fase di edge detection, in quanto la visualizzazione dell edge può risultare un pò difficoltosa. E necessario cercare di illuminare tutto il pacchetto lateralmente, ovvero sempre con lo stesso tipo di illuminazione, ma portando la luce in tutti i punti. La soluzione è stata fatta montando due lampade a neon inclinate a 45 e direzionate verso l oggetto da riprendere. Il risultato ottenuto è quello prefissato, ed è illustrato in figura 5. La posizione degli illuminatori si può meglio capire dalla figura 6. 2

Figura 4 Illuminazione front light dark field con 1 neon circolare Figura 5 Illuminazione front light dark field con 2 neon circolari Figura 6 Posizione degli illuminatori 2.3 Utilizzo della lama di luce Durante lo sviluppo software è stato necessario tracciare delle linee verticali nel punto medio di ogni singola molletta. Partendo dal presupposto che si é ipotizzato di disporre di un sistema di incanalamento che impedisca alle mollette di muoversi lateralmente, si può dedurre che la telecamera vede l immagine come mostrato in figura 1. Per questo motivo è plausibile considerare che le coordinate X dell immagine restino invariate. Se così fosse si potrebbero tracciare le linee fissando i valori delle ascisse, e tenendo questi ultimi uguali per tutte le immagini acquisite. 3

Dopo una serie di prove si è dedotto che questo sistema risultava poco flessibile soprattutto per quanto riguarda la ripetibilità. Dunque è stato utilizzato una lama di luce in camera oscura per evidenziare solamente gli estremi di ogni singola molletta. In questo modo, dopo opportune elaborazioni dell immagine, è stato possibile calcolare l ascissa del punto medio di ogni molletta senza essere vincolati alla posizione orizzontale vista dalla telecamera. Normalmente la lama di luce viene montata in posizione verticale rispetto all oggetto da riprendere. Nell applicazione in esame ciò risultava inefficiente: erano infatti presenti riflessioni negli spazi tra le mollette. La conseguenza di questo fatto era che la telecamera non vedeva le singole mollette illuminate separate da spazi bui, ma acquisiva un immagine rappresentante una linea dritta e compatta. Per questo motivo la lama è stata montata in posizione obliqua, mentre la posizione della telecamera è restata invariata, come mostrato in figura 7. L immagine acquisita in camera oscura è mostrata nella figura seguente. Si possono notare: la possibilità di riconoscimento delle singole mollette seguendo la linea superiore e la presenza di punti sottostanti dovuti alle riflessioni causate dalla parte inferiore dell imballaggio.. Figura 7 Posizione della lama di luce Figura 8 Lama di luce acquisita in camera oscura 4

2.4 Dimensionamento del sistema di visione Prima di passare al vero e proprio sviluppo software è necessario il calcolo delle distanze in termini di working distance e lunghezza focale. Il dimensionamento di queste due grandezze è legato al valore del sensor size ed al FOV tramite la formula: ( Focale / Sensor Size ) = ( Working Distance / FOV ) La grandezza del sensor size è da decidere in base al minimo dettaglio che si vuole riconoscere. Per l applicazione in esame esso rappresenta il diametro dei ferretti di ogni singola molletta, che vale 1,5 mm. Per far sì di non avere disturbi causati dal rumore, è bene utilizzare 4 pixel per riconoscere il più piccolo dettaglio, ovvero 4 pixel ogni 1,5 mm. Poiché il FOV ha dimensioni pari a 170 88 mm servirà un sensore pari a : n pixel orizzontali = (170/1,5) *4 = 454 pixel n pixel verticali = (88/1,5) *4 = 235 pixel E necessario sottolineare che, come già detto in precedenza, per quest applicazione serve una telecamera a colori. L unica disponibile è quella già descritta, che ha una risoluzione abbondantemente maggiore rispetto a quella richiesta dal calcolo appena fatto. Si può dunque affermare di essere sicuri d individuare il minimo dettaglio utilizzando la camera ueye 1460. Restano ora da decidere i valori di working distance e distanza focale. Basta fissare uno dei due valori e, utilizzando la relazione descritta nella formula iniziale, trovare il valore che resta incognito. L interesse è quello di avere una visualizzazione pari a quella mostrata in figura 1, in modo da sfruttare al meglio l area del sensore. La grandezza da utilizzare è dunque quella orizzontale, ovvero 170mm. Per una focale di 16mm risulta una working distance pari a : WD=(FOV*ff)/SS=(170*16)/6.55=415.27mm Il valore scelto di working distance è di 415mm, il quale implica una focale di 15.9mm. Di seguito vengono riportati degli schemi che descrivono il posizionamento dei vari elementi del sistema di visione e le varie distanze. 5

3. SOFTWARE Lo sviluppo del VI di Labview è stato suddiviso in più parti, ovvero in diversi sub-vi ognuno con una precisa funzione. Le singole operazioni sono state messe in una sequenza e, svolte una dopo l altra, eseguendo i diversi test sequenzialmente sul pezzo da ispezionare. La figura 11 mostra la sequenza con cui le varie operazioni vengono eseguite. Controllo del lato pacchetto La prima cosa da capire è quale sia il lato del package che la telecamera sta ispezionando. Ciò è fondamentale per il fatto che una faccia del pacchetto è ricoperta da cellophane e permette la visualizzazione delle mollette, mentre l altra è anch essa ricoperta dal cellophane, ma presenta al di sotto un etichetta che nasconde le mollette stesse. Il problema appena descritto è illustrato nelle figure 12 e 13. Si è quindi considerata l ipotesi che il pacchetto potesse presentarsi alla telecamera in due diversi Figura 11 Schema a blocchi dei passaggi logici fatti dal software modi. Il riconoscimento del lato mollette viene fatto tramite l esecuzione di un pattern matching (figura 14). In particolare il VI dedicato a quest operazione cerca un Template corrispondente ad un codice a barre: se lo trova non è possibile eseguire il test, in caso contrario le mollette sono visibili e il controllo può continuare. Figura 12 Lato con etichetta Figura 14 Pattern matching positivo, lato etichetta Figura 13 Lato mollette 6

Estrazione della ROI rettangolare Una volta stabilito che il lato visualizzato è quello delle mollette, viene effettuata l estrazione di una ROI dall immagine iniziale. Questo passaggio permette di togliere tutto ciò che è presente nel FOV e non fa parte del pacchetto di mollette. Si è deciso di fare questa prima elaborazione in modo da facilitare le successive operazioni, che lavoreranno con la ROI estratta, e poter trattare il pacchetto allo stesso modo indipendentemente dalla coordinata verticale con cui esso si presenta. L algoritmo sviluppato sfrutta la binarizzazione dell immagine sorgente, dunque tramite linee verticali effettua un edge detection,e trova le coordinate degli edge dall alto verso il basso (figura 15). Figura 15 Binarizzazione immagine originale e edge detection Una volta trovate le ordinate degli edge l algoritmo procede prendendo la più piccola come riferimento superiore, mentre l inferiore è calcolato sommando alla coordinata trovata un valore fisso corrispondente all altezza del pacchetto (che da alcune prove è risultato di 1065 pixel). Le figure 16 e 17 mostrano l immagine prima dell estrazione della ROI, e la ROI estratta. Figura 17 ROI estratta Figura 16 Immagine originale 7

Conteggio e controllo della posizione delle mollette Come già anticipato l operazione di conteggio e controllo sfrutta l utilizzo di linee verticali, tracciate nei punti mediani delle mollette, in modo da individuare i ferretti ed il valore della loro ascissa. A questo punto è necessario innanzitutto sfruttare l informazione ricavata dall immagine della lama di luce. Essa viene acquisita in una camera oscura dunque,come si può vedere dalla figura 8, sarà un immagine totalmente buia con delle parti verdi. Quest ultime sono proprio l informazione cercata, ovvero rappresentano ogni singola molletta. L algoritmo procede estraendo il piano colore verde, in modo da enfatizzare le parti illuminate d interesse. A questo punto viene fatta una binarizzazione dell immagine estratta ottenendo il risultato mostrato in figura 18. Figura 18 Lama binarizzata La lama è sempre fissa alla stessa ascissa nel FOV. Partendo da questo presupposto è dunque possibile tracciare una linea orizzontale alla medesima coordinata Y ed effettuare su di essa un edge detection. Trovati gli edge (figura 18) si conoscono anche tutte le coordinate X e si può procedere dunque col calcolo dei punti medi. Prima di effettuare il riconoscimento dei ferretti, la ROI viene preprocessata con una trasformazione detta morfologica, più precisamente DILATE GRAYSCALE MORPHOLOGY. Questo passaggio è stato fatto per eseguire l edge detection in maniera più sicura. Le fasi del DILATE GRAYSCALE MORPHOLOGY sono: La ROI passa da immagine a colori a immagine a livelli di grigio; i pixel vengono confrontati con il neighbouring, ovvero con quelli adiacenti, e modificati in maniera da aumentare l intensità di ogni pixel che si trova circondato da pixel con maggior intensità. In questo modo le zone dell immagine in cui ci sono pixel chiari vengono enfatizzate, con un leggero smoothing. Grazie al filtraggio appena descritto è stato possibile aumentare il valore del contrasto con cui si ricerca l edge, avendo quindi la certezza di non rilevare falsi edge e quindi effettuare un controllo sbagliato. A questo punto sulle immagini vengono tracciate le linee verticali nei punti medi calcolati in precedenza e vengono rilevati gli edge, come mostrato in figura 19. Il numero di edge diviso per due restituisce il numero delle mollette. Le coordinate Y degli edge vengono poi, tramite un metodo di posizione reciproca, controllate. Se esse distano di un valore che sta all interno di una tolleranza (variabile dal front panel) il test della posizione risulterà positivo, in caso contrario negativo. In questo modo un eventuale pacchetto con mollette che fuoriescono (vale a dire una o piu mollette sono disallineate) viene scartato. 8

Figura 19 Conteggio e controllo posizione Test del colore L ultimo test a cui è sottoposto il pacchetto è quello del colore. Esso utilizza la ROI a colori estratta in precedenza e le coordinate dei punti medi di ogni molletta calcolate nel conteggio e controllo posizione. L approccio utilizzato consiste nel valutare la distanza colore tra due mollette adiacenti. Con il termine distanza colore si intende un processo basato sui seguenti passaggi: estrazione dei valori RGB lungo una linea di pixel situata alla prima coordinata X; calcolo della media dei valori RGB lungo la linea per la determinazione del colore della prima molletta; estrazione del colore della prima molletta tramite il controllo dei valori delle medie di RGB. Le soglie per il riconoscimento dei singoli colori sono state determinate sperimentalmente facendo più misure sulle mollette e valutando i valori di RGB per il colore blu, verde e bianco; estrazione dei valori RGB lungo una linea di pixel su due mollette adiacenti calcolo della media dei valori RGB lungo la linea appartenente alla molletta più a destra per la determinazione del suo colore; calcolo della distanza tra valori RGB di due mollette adiacenti: ( R1-R2) 2 +(G1- G2) 2 +(B1-B2) 2 se la distanza supera un certo valore (ricavato tramite alcune prove) significa che le due mollette controllate sono di colore diverso: a questo punto la molletta più a destra acquisisce il colore nuovo e si passa alla coppia successiva di mollette. In caso contrario le mollette sono uguali: la molletta più a destra assume lo stesso colore della precedente e si passa al controllo della coppia successiva; dopo il controllo di distanza si aggiorna un array che contiene i codici numerici dei colori secondo la seguente convenzione: 1 blu, 2 verde, 3 bianco; 9

una volta controllate tutte le mollette si procede al test dell ordine dei colori valutando l array finale: si controlla che le mollette siano dello stesso colore a gruppi di quattro e che le quattro mollette centrali siano bianche. La distanza colore viene valutata su più valori mediati di RGB, dunque vengono calcolate più distanze. Se il numero di distanze maggiori della soglia scelta supera il numero di distanze di valore minore, le mollette sono di colore diverso; in caso contrario sono uguali. E stato deciso un controllo di distanza fatto in questo modo per evitare d introdurre errori, nel riconoscimento dei singoli colori, dovuti ad eventuali riflessioni. Infatti se valutando in un solo pixel i valori di RGB di due mollette colorate uguali s incontra una riflessione, la distanza è comunque elevata, e l algoritmo le catalogherebbe come diverse. La distanza calcolata su più punti è fatta per evitare problemi di questo tipo. Conclusioni E possibile concludere affermando la fattibilità del sistema di visione. Il software permette in modo flessibile di effettuare i test richiesti dalle specifiche. E stata realizzata solamente l applicazione software offline quindi con apertura di immagini precedentemente acquisite con l ausilio di doppio illuminatore a neon e illuminatore a lama di luce. Per un eventuale applicazione online devono essere sostituite le parti di apertura file con le gestioni di acquisizione immagini da telecamera. Lo svantaggio principale della struttura risiede nella necessità della doppia illuminazione. In particolare nel caso online vi è la necessità di utilizzare in camera oscura una lama di luce e un illuminazione strobe con doppia lampada a neon. RIFERIMENTI BIBLIOGRAFICI [1] G. Sansoni Lucidi del corso di Strumentazione Elettronica B [2] NI Vision Concepts Manual National Instruments [3] http://forums.ni.com/ni/ - National Instruments 10

APPENDICE A Schermate FRONT PANEL dei VI realizzati Front Panel del programma generale di test 11

Front Panel del subvi di controllo del lato mollette 12

Front Panel del subvi di estrazione della ROI rettangolare 13

Front Panel del subvi di EDGE DETECTION 14

Front Panel del subvi di conteggio e controllo posizione delle mollette 15

Front Panel del subvi di controllo colori delle mollette 16

APPENDICE B SCHEMA A BLOCCHI DEL PROGRAMMA DI TEST GENERALE Inizializzazione zone di memoria immagini Inizio TEST Altri controlli non vengono eseguiti Apertura Immagine a colori Controllo del LATO Chiamata a subvi Test Lato Mollette Fine Test LATO MOLLETTE? Visualizzazione immagine con template barcode evidenziato Estrazione ROI rettangolare mollette Chiamata a subvi Extract Rettangolo Apertura immagine a lama di luce Controllo del numero e della posizione delle mollette Chiamata a subvi Counting and Check Risultato TEST Controllo colori mollette Chiamata a subvi Color Test Fine Test Risultato TEST