CERCA SITEMAP FEED RSS 1280
Ultimo aggiornamento: 30 Agosto 2009

IPWA - Image Processing Web Application

IPWA (Image Processing Web Application) è un’applicazione web di base per l’analisi e l’elaborazione di immagini digitali sviluppata con tecnologia Java 2 Enterprise Edition mediante l’utilizzo del Framework Struts e delle librerie Java Advanced Imaging.
interfaccia di IPWA
Interfaccia di IPWA
L’area di lavoro è divisa in due parti:
  • a sinistra è presente il menu delle elaborazioni che è possibile effettuare sull’immagine:
    • analisi dei canali RGB
    • elaborazioni di forma
    • flip orizzontale e verticale
    • filtraggi vari
  • a destra viene di volta in volta presentato il risultato di tali elaborazioni sull’immagine di input
Ogni sessione di lavoro in IPWA è essenzialmente costituita da tre passaggi:
  • l’upload dell’immagine che si vuole analizzare/elaborare
  • il lancio di alcune elaborazioni sulla stessa
  • il salvataggio dell’immagine di output
Allo stato attuale è possibile avviare un’analisi dei tre canali RGB dell’immagine ed effettuare le seguenti operazioni:
  • elaborazioni di forma (ridimensionamento e rotazione)
  • elaborazioni di flip (orizzontale e verticale)
  • applicazione di filtri (estrazione dei contorni, negativo, conversione in scala di grigi, blurring e conversione in bianco e nero)
Per estendere le funzionalità descritte è sufficiente definire un nuovo filtro ed effettuarne il mapping all’interno del file struts-config.xml.
interfaccia di IPWA
Organizzazione di IPWA
Una volta avviata una sessione di lavoro ogni richiesta di elaborazione inoltrata dal browser al controller della web application viene reindirizzata verso la Action corrispondente mappata all’interno dei file di configurazione.

Ogni Action utilizza quindi un Filter per effettuare delle trasformazioni sull’immagine producendo in tal modo un’immagine di output che viene riproposta all’utente attraverso delle pagine JSP.
Il Framework Struts semplifica l’implementazione del pattern Model-View-Control: ogni richiesta HTTP viene mappata (secondo le informazioni definite nel file struts-config.xml ) dal Controller (configurato nel file web.xml ) verso la corretta Action class la quale utilizza dei filtri (che implementano l’interfaccia BufferedImageOp e quindi definiscono il metodo filter() ) per elaborare l’immagine in input ed ottenerne una in output.
L’immagine di output viene quindi proposta all’utente all’interno di una pagina Web generata dinamicamente dalle Java Server Page, in base ad una formattazione predefinita: in questo modo si concretizza la completa separazione fra la logica di business e quella di presentazione.
Il passaggio dei dati fra i vari web components avviene sfruttando le sessioni (quindi l’oggetto HTTPSession nelle Servlet e l’oggetto implicito Session nelle Java Server Page).
L’upload dell’immagine utilizza le librerie commons Fileupload mentre l’utilizzo di Java Advanced Imaging ha consentito il salvataggio delle stesse con qualità superiore rispetto a quella standard definita in Java2D.
Per testare la web application è sufficiente installare le librerie Java Advanced Imaging, scaricare il file ipwa.war (Web ARchive) ed effettuarne il deployment su server Tomcat (o comunque compatibile con J2EE) e quindi lanciare la web application all’indirizzo http://localhost:porta/IPWA.
Il file ipwa.war contiene già le librerie Struts 1.1 e le commons Fileupload quindi non sarà necessario scaricarle.