università degli studi roma tre dipartimento di informatica e automazione corso di laurea in...

12
Università degli studi “Roma TRE” Università degli studi “Roma TRE” Dipartimento di Informatica e Automazione Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria Informatica Tesi di Laurea Tesi di Laurea Prototipo per l’acquisizione e la manipolazione Prototipo per l’acquisizione e la manipolazione avanzata delle immagini avanzata delle immagini Relatore Relatore Prof. P. Atzeni Prof. P. Atzeni Università Roma TRE Università Roma TRE Candidato Candidato Filippo Trimoldi Filippo Trimoldi Matr. 229046 Matr. 229046 Correlatore Correlatore Simone Muzzarelli Simone Muzzarelli Società Italiana-Archivi Società Italiana-Archivi

Upload: ermanno-costanzo

Post on 01-May-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Università degli studi “Roma TRE”Università degli studi “Roma TRE”Dipartimento di Informatica e AutomazioneDipartimento di Informatica e Automazione

Corso di Laurea in Ingegneria InformaticaCorso di Laurea in Ingegneria Informatica

Tesi di LaureaTesi di Laurea

Prototipo per l’acquisizione e la manipolazione Prototipo per l’acquisizione e la manipolazione avanzata delle immaginiavanzata delle immagini

RelatoreRelatore

Prof. P. AtzeniProf. P. Atzeni

Università Roma TREUniversità Roma TRE

CandidatoCandidato

Filippo TrimoldiFilippo Trimoldi

Matr. 229046Matr. 229046

CorrelatoreCorrelatore

Simone MuzzarelliSimone Muzzarelli

Società Italiana-ArchiviSocietà Italiana-Archivi

Page 2: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

GED (Gestione Elettronica dei Documenti)GED (Gestione Elettronica dei Documenti)

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 3: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Da ASCENT a SIAWEB Da ASCENT a SIAWEB

Sistema GED gestito da un prodotto preesistente: ASCENT della Kofax, ma:

alti costi di licenza per l'update del prodotto che in caso contrario non garantisce più il supporto;molti moduli di questo sistema sono obsoleti;compatibile solamente con sistemi di matrice Microsoftnon c'è una gestione centralizzata del sistema UOT che è gestito di caso in caso da ogni sede territoriale:

quando vi è una richiesta di un documento specifico da parte del cliente questo deve per forza passare per la sede centrale che ha i contatti con tutti i clienti

La scelta manageriale:

investire nello sviluppo di un prodotto software proprio, SIAWEB®, che aggiunga le funzionalità mancanti e soprattutto gestisca il sistema UOT su web.

In termini semplici: il cliente può ottenere tutte le copie di tutti i documenti richiesti direttamente collegandosi ai server SIA

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 4: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Modulo di scansione Modulo di scansione

Svantaggi del modulo offerto da ASCENT:Svantaggi del modulo offerto da ASCENT:

Non portabile su sistemi UNIXNon portabile su sistemi UNIXGestisce pochi formati di immagineGestisce pochi formati di immagine

Esigenza di testing: Esigenza di testing:

tecnologie portabili (Java)tecnologie portabili (Java)Rapporti tra grandi quantità di immagini e diversi algoritmi di Rapporti tra grandi quantità di immagini e diversi algoritmi di compressionecompressione

Formati:Formati:JPEG, GIF, PNG, PNM, BMP, ma soprattutto TIFFJPEG, GIF, PNG, PNM, BMP, ma soprattutto TIFF

Altri Requisiti:Altri Requisiti:Scrittura su file system di circa 100 pp/minScrittura su file system di circa 100 pp/minVisualizzazione simultaneaVisualizzazione simultaneaControllo della scansione via softwareControllo della scansione via softwareCompatibilità con sistemi UNIXCompatibilità con sistemi UNIX

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 5: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Interfacciamento allo scannerInterfacciamento allo scanner

Standard TWAIN:Standard TWAIN:

Standard di riferimento per Win32Standard di riferimento per Win32Totale astrazione di periferiche sorgenti (Source):Totale astrazione di periferiche sorgenti (Source):((Scanner, foto-camere, webcam, database di immaginiScanner, foto-camere, webcam, database di immagini))Facile integrazione in tutti tipi di applicativiFacile integrazione in tutti tipi di applicativi(Word Processor, Web, foto – video editing)(Word Processor, Web, foto – video editing)Standard per i driverStandard per i driverSempre supportato dai produttori – interfaccia integrata.Sempre supportato dai produttori – interfaccia integrata.

Standard SANE:Standard SANE:

Standard pensato per la compatibilità con sistemi UNIX Standard pensato per la compatibilità con sistemi UNIX (Linux, freeBSD, Solaris, HPUX, Mac OS)(Linux, freeBSD, Solaris, HPUX, Mac OS)Basato su 6566/TCPBasato su 6566/TCPFunzionamento ben diffente dal TWAIN basato su librerie Funzionamento ben diffente dal TWAIN basato su librerie dinamiche non sempre implementabili chiamate dinamiche non sempre implementabili chiamate backendbackendPeriferiche sorgenti compatibili in numero limitatoPeriferiche sorgenti compatibili in numero limitatoInterfacce unificate (Interfacce unificate (frontendfrontend))

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 6: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Astrazione del processo di acquisizioneAstrazione del processo di acquisizione

LibrerieLibrerieJTwain – JSaneJTwain – JSaneMorenaMorena

g.p.s.g.p.s.gestore dellegestore delleperifericheperiferichesorgentisorgenti

Interfaccia GUIInterfaccia GUITWAINTWAINunivoca per ogni p.s.univoca per ogni p.s.SANESANEun backendun backend

Possibilità diPossibilità diADFADF::AutomaticAutomaticDocumentDocumentFeedingFeeding

Gestione dei ThreadGestione dei Threadthread di scansione separatothread di scansione separato

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 7: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Velocità operativa: Tempo di Velocità operativa: Tempo di acquisizioneacquisizione

Scrittura delle immagini - JAI (Java Advanced Imaging)Scrittura delle immagini - JAI (Java Advanced Imaging)Scrittura più lenta di 100 pp/minScrittura più lenta di 100 pp/min

Devo scendere di livello e quindi distinguere i vari tipi di scrittura Devo scendere di livello e quindi distinguere i vari tipi di scrittura a basso livelloa basso livello

Definisco una serie operazioni On-The-Fly:Definisco una serie operazioni On-The-Fly:BufferizzazioneBufferizzazioneScalamento rapido (senza interpolazione) per la visualizzazioneScalamento rapido (senza interpolazione) per la visualizzazione… … ma anche inversione dei colorima anche inversione dei colori

Divido il processo a tempo di acquisizione:Divido il processo a tempo di acquisizione:Immagini bilivello (0,1)Immagini bilivello (0,1) – TIFF con algoritmi CCITT (GROUP3_1D, – TIFF con algoritmi CCITT (GROUP3_1D, GROUP3_2D, GROUP4)GROUP3_2D, GROUP4)Immagini non bilivelloImmagini non bilivello – PNG, PNM, BMP, JPEG, GIF – PNG, PNM, BMP, JPEG, GIF

Perché: Perché: non si può codificare con algoritmi bilivello una immagine non non si può codificare con algoritmi bilivello una immagine non bilivellobilivello

Problema: Problema: le immagini generate dagli scanner rotativi sono le immagini generate dagli scanner rotativi sono solamente non bilivellosolamente non bilivello

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

Dimostrazione Dimostrazione

ConclusioniConclusioni

Page 8: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Operazioni On-The-Fly (nel ciclo ADF)Operazioni On-The-Fly (nel ciclo ADF)

Bufferizzazione: Bufferizzazione: immagine messa in memoria come un buffer di immagine messa in memoria come un buffer di datidati

Diversi tipi di bufferizzazione:Diversi tipi di bufferizzazione:Binario a ByteBinario a ByteScala di Grigi a ByteScala di Grigi a ByteColore a ByteColore a ByteColore Pieno a IntColore Pieno a Int

Possibilità di avere facilmente i Possibilità di avere facilmente i rastersrasters di una immagine di una immagine

Per la codifica di immagini bilivello bisogna prima binarizzare Per la codifica di immagini bilivello bisogna prima binarizzare l’immagine. Ci sono diversi metodi:l’immagine. Ci sono diversi metodi:

Trasformata lineare che combina le 4 bande di colore di una Trasformata lineare che combina le 4 bande di colore di una immagine bilivello.immagine bilivello.

Operazione lentaOperazione lentatroppo dipendente dalla risoluzione dell’immagine acquisitatroppo dipendente dalla risoluzione dell’immagine acquisita

Sfrutto la struttura del file TIFFSfrutto la struttura del file TIFFIFD (Image File Directory)IFD (Image File Directory)chiedo al codificatore di scrivere determinati TAG nell’intestazione di ogni chiedo al codificatore di scrivere determinati TAG nell’intestazione di ogni filefile

Una volta ottenuta una immagine bilivello, questa Una volta ottenuta una immagine bilivello, questa ha i colori ha i colori invertitiinvertiti!!

Modificare il tag IFD dell’Modificare il tag IFD dell’interpretazione fotometrica (Black-Is-Zerointerpretazione fotometrica (Black-Is-Zero White-Is-Zero) White-Is-Zero) ? È un tag per di lettura per la sola decodifica? È un tag per di lettura per la sola decodificaLa mia immagine in buffer è di tipo binario a Byte:La mia immagine in buffer è di tipo binario a Byte:

Eseguo su ogni Byte l’operazione di Eseguo su ogni Byte l’operazione di complemento a unocomplemento a uno (in Java “(in Java “~~”)”)

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 9: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Operazioni automatizzateOperazioni automatizzate

Seleziono un set di immagini qualsiasi conSeleziono un set di immagini qualsiasi conformato: TIFF, JPEG, PNM, PNG, GIF, BMP (immagine sorgente)formato: TIFF, JPEG, PNM, PNG, GIF, BMP (immagine sorgente)

Applico il DataFlow per ogni immagineApplico il DataFlow per ogni immagine

Altre operazioni su set di file: Altre operazioni su set di file: CroppingCropping, , ScaleScale, , RotateRotate (con (con adeguate interpolazioni)adeguate interpolazioni)

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 10: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

Esempio di Struttura: formato PNGEsempio di Struttura: formato PNG

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 11: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

DimostrazioneDimostrazione

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni

Page 12: Università degli studi Roma TRE Dipartimento di Informatica e Automazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Prototipo per lacquisizione

ConclusioniConclusioni

Sviluppi futuri:Sviluppi futuri:

Scrittura diretta PDFScrittura diretta PDF

BarcodeBarcode

Cropping intelligente softwareCropping intelligente software

Disegno automatizzatoDisegno automatizzato

Ulteriori informazioni:Ulteriori informazioni:

http://converter.altervista.orghttp://converter.altervista.org

Schema GEDSchema GED

ASCENT->SIAWEBASCENT->SIAWEB

Prototipo di Prototipo di ScansioneScansione

Interfacciamento allo Interfacciamento allo scannerscanner

Acquisizione OtticaAcquisizione Ottica

Velocità operativaVelocità operativa

Operazioni Operazioni On-The-FlyOn-The-Fly

Operazioni Operazioni AutomatizzateAutomatizzate

Esempio della Esempio della struttura di struttura di parametri: parametri: formato PNGformato PNG

DimostrazioneDimostrazione

ConclusioniConclusioni