Java DIP - Librerie open source

In questo capitolo, esploriamo alcune delle librerie gratuite di elaborazione delle immagini che sono ampiamente utilizzate e possono essere facilmente integrate nel progetto. Queste librerie includono:

  • ImageJ
  • Fiji
  • Commons Imaging
  • ImageMagick
  • Endrov
  • LeadTools
  • OpenCv

ImmagineJ

ImageJ è un programma di elaborazione di immagini Java di pubblico dominio ispirato a NIH Image per Macintosh. Può visualizzare, modificare, analizzare, elaborare, salvare e stampare immagini a 8 bit, 16 bit e 32 bit.

Alcune delle caratteristiche di base di ImageJ sono descritte di seguito:

Sr.No. Caratteristica e descrizione
1

Runs Everywhere

ImageJ è scritto in Java, che gli consente di funzionare su Linux, Mac OS X e Windows, sia in modalità a 32 bit che a 64 bit.

2

Open Source

ImageJ e il suo codice sorgente Java sono disponibili gratuitamente e di pubblico dominio.

3

Toolkit

Usa ImageJ come toolkit per l'elaborazione delle immagini (libreria di classi) per sviluppare applet, servlet o applicazioni.

4

Data Types

Scala di grigi a 8 bit o colore indicizzato, numero intero senza segno a 16 bit, virgola mobile a 32 bit e colore RGB.

5

File Formats

Apri e salva GIF, JPEG, BMP, PNG, PGM, FITS e ASCII. Apri DICOM. Apri TIFF, GIF, JPEG, DICOM e dati non elaborati utilizzando un URL.

6

Selections

Crea selezioni di aree rettangolari, ellittiche o irregolari. Crea selezioni di linee e punti.

7

Image Enhancement

Supporta levigatura, nitidezza, rilevamento dei bordi, filtraggio mediano e soglia su immagini a colori sia in scala di grigi a 8 bit che RGB.

8

Color Processing

Divide un'immagine a colori a 32 bit in componenti RGB o HSV. Unisci i componenti a 8 bit in un'immagine a colori.

Figi

Fiji è un pacchetto di elaborazione delle immagini. Può essere descritto come una distribuzione di ImageJ (e ImageJ2) insieme a Java, Java3D e molti plug-in organizzati in una struttura di menu coerente. Fiji si confronta con ImageJ come Ubuntu si confronta con Linux.

Oltre alle funzionalità di base di ImageJ, alcune delle funzionalità avanzate di Fiji sono descritte di seguito:

Sr.No. Caratteristica e descrizione
1

Registering 3D images

Ciò comprende l'allineamento elastico e il montaggio, l'estrazione di feature, lo stabilizzatore d'immagine ecc.

2

Segmenting images

Offre più di 35 tipi di segmentazione.

3

Useful keyboard short cuts

Fuji ha molte scorciatoie da tastiera.

4

Scripting

Consenti scripting con macro, in JavaScript, JRuby, Jython, Clojure e Beanshell.

5

Developing Plug-ins

Utilizzare lo Script Editor per iniziare a sviluppare plug-in e quindi eseguire i plug-in.

6

ImageJ Tricks

ImageJ è facile da usare, ma a volte desideri qualche funzione che sia effettivamente implementata, ma non sai come attivarla.

Commons Imaging

Apache Commons Imaging, precedentemente noto come Apache Commons Sanselan, è una libreria che legge e scrive una varietà di formati di immagine, inclusa l'analisi rapida delle informazioni sull'immagine come (dimensione, colore, spazio, profilo ICC, ecc.) E metadati.

Alcune delle caratteristiche di base di ImageJ sono descritte di seguito:

Sr.No. Caratteristica e descrizione
1

Java

Apache Commons Imaging è scritto in Java puro al 100%. Funziona su qualsiasi JVM e qualsiasi piattaforma, senza modifiche.

2

Image Formats

Legge e scrive un'ampia varietà di formati di immagine e supporta alcune variazioni e codifiche perse da tutte o dalla maggior parte delle altre librerie.

3

Metadata support

Supporta la lettura e la scrittura di una varietà di metadati in modo strutturato, inclusi i metadati EXIF.

4

Network Friendly

È compatibile con la rete. Commons Imaging legge solo i dati di cui ha bisogno e memorizza nella cache ciò che viene letto in modo che non sia troppo pesante sulla rete.

5

Easy to use

È progettato per essere molto facile da usare. Ha un'interfaccia semplice e pulita. La maggior parte delle operazioni sono chiamate da un unico metodo di imaging.

6

Transparent

Commons Imaging mira ad essere trasparente. Non ci sono buffer nascosti da eliminare, nessuna memoria nativa da liberare, nessun thread in background.

7

Open Source

È software libero / open source. È disponibile con la licenza software Apache.

8

Color Conversions

La classe ColorConversions offre metodi per convertire tra i seguenti spazi colore: CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ e YXY.

ImageMagick

ImageMagick è una suite software per creare, modificare, comporre o convertire immagini bitmap. Può leggere e scrivere immagini in più di 100 formati, inclusi DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG e TIFF. Usa ImageMagick per ridimensionare, capovolgere, specchiare, ruotare, distorcere, inclinare e trasformare le immagini, regolare i colori dell'immagine, applicare vari effetti speciali o disegnare testo, linee, poligoni, ellissi e curva di Bézier.

Alcune delle caratteristiche di base di ImageMagick sono descritte di seguito:

Sr.No. Caratteristica e descrizione
1

Format conversion

Converte un'immagine da un formato all'altro (ad esempio PNG in JPEG).

2

Transform

Può ridimensionare, ruotare, ritagliare, capovolgere o ritagliare un'immagine.

3

Transparency

Rende invisibili parti di un'immagine.

4

Draw

Aggiunge forme o testo a un'immagine.

5

Decorate

Aggiunge un bordo o una cornice a un'immagine.

6

Special effects

Può sfocare, rendere più nitida, ridurre o colorare un'immagine.

7

Animation

Può creare una sequenza di animazione GIF da un gruppo di immagini.

8

Composite

Può sovrapporsi un'immagine all'altra.

9

Morphology of shapes

Estrae le caratteristiche, descrive le forme e riconosce i modelli nelle immagini.

10

Encipher or decipher an image

Converte immagini ordinarie in incomprensibili parole senza senso e viceversa.

Endrov

Endrov è un programma di analisi delle immagini multiuso. È scritto in modo indipendente e progettato per affrontare molte delle carenze di altri software gratuiti e molti pacchetti commerciali.

Alcune delle caratteristiche di base di Endrov sono descritte di seguito:

Sr.No. Caratteristica e descrizione
1

View data

Visualizza i dati, in 2D e 3D. Progettato per gestire complessi schemi di dati 4D e un numero illimitato di canali, in cui ogni canale può avere la propria risoluzione X, Y e Z.

2

Annotate your images

Annota le tue immagini, automaticamente oa mano, per comprenderle e ottenere statistiche.

3

Undo and Redo

Può annullare e ripetere tutte le operazioni.

4

Lazy Evaluation

È progettato da terra per gestire grandi set di immagini. Endrov utilizza la valutazione pigra, un concetto disponibile principalmente nei linguaggi di programmazione della ricerca.

5

Scripting language

Supporta il linguaggio di scripting grafico e lo scripting tradizionale.

6

Java

Scritto in Java. L'architettura plug-in consente una facile estensione con nuovi plug-in Java. Può interagire con Matlab.

7

Formats

Accede a quasi tutti i formati di file commerciali e aperti utilizzando Bio-formati.

8

Microscopic Processing

Può controllare tutti i tuoi microscopi con un programma ed eseguire analisi delle immagini al volo.

LEADTOOLS

LEADTOOLS fornisce oltre 200 funzioni di elaborazione delle immagini in diverse categorie, tra cui pulizia dei documenti, miglioramento dell'immagine medica, conversione e correzione del colore, riduzione del rumore, rilevamento dei bordi e altro ancora.

Alcune delle caratteristiche di base di LEADTOOLS sono descritte di seguito:

Sr.No. Caratteristica e descrizione
1

Scanned Document Image Processing

Questa potente raccolta di funzioni può leggere documenti scansionati di artefatti e imperfezioni come fori perforati, angoli inclinati, bordi, macchie di polvere e altro ancora.

2

Medical Image Processing

Migliora l'immagine o evidenzia i dettagli spostando, selezionando, sottraendo e rimuovendo lo sfondo per una migliore visualizzazione.

3

Geometric Transformation

Queste funzioni possono essere utilizzate per pulire, allineare, correggere le immagini o applicare effetti 3D artistici.

4

Brightness and Contrast

Queste funzioni possono essere utilizzate per migliorare le immagini, applicare effetti artistici o aiutare nella valutazione diagnostica delle immagini mediche.

5

Color Space Conversion

Possono aggiungere la funzionalità dello spazio colore dell'immagine alle applicazioni a thread singolo e multi-thread, comprese le applicazioni ospitate IIS e Windows WF.

6

Color Correction

Queste funzioni vengono utilizzate per correggere le immagini con canali di colore scambiati, bilanciare le intensità dei colori o eseguire varie attività di analisi delle immagini.

7

Image Enhancement

Queste funzioni vengono utilizzate per correggere errori comuni nella fotografia come occhi rossi e colori sbilanciati, nonché per aiutare nella valutazione diagnostica delle immagini mediche.

8

Region of Interest

Queste funzioni vengono utilizzate per creare e modificare le aree di interesse nelle immagini per eseguire funzioni di elaborazione delle immagini su parti specifiche di un'immagine, risparmiare tempo nel codice a barre e nel riconoscimento OCR o eseguire varie attività di analisi delle immagini.

OpenCV

OpenCV è rilasciato con una licenza BSD e quindi è gratuito sia per uso accademico che commerciale. Ha interfacce C ++, C, Python e Java e supporta Windows, Linux, Mac OS, iOS e Android. OpenCV è stato progettato per l'efficienza computazionale e con una forte attenzione alle applicazioni in tempo reale. Scritta in C / C ++ ottimizzato, la libreria può sfruttare l'elaborazione multi-core.

Alcune caratteristiche di base di OpenCV sono descritte brevemente:

Sr.No. Caratteristica e descrizione
1

Smoothing Images

Ciò comporta l'applicazione di Blur, GaussianBlur, medianBlur e filtro bilaterale.

2

Eroding and Dilating

Può applicare due operatori morfologici molto comuni: Dilatazione ed Erosione.

3

Morphology Transformations

Morfologia della funzione OpenCV Ex per applicare la trasformazione morfologica come apertura, chiusura, TopHat e BlackHat ecc.

4

Image Pyramids

OpenCV funziona pyrUp e pyrDown per campionare verso il basso o verso l'alto una data immagine.

4

Basic Thresholding Operations

Eseguire le operazioni di soglia di base utilizzando la funzione Soglia di OpenCV.

5

Adding borders to your images

La funzione OpenCV copyMakeBorder viene utilizzata per impostare i bordi (imbottitura extra per l'immagine).

7

Remapping

In OpenCV, la funzione di rimappatura offre una semplice implementazione di rimappatura.

8

Histogram Calculation

Per scopi semplici, OpenCV implementa la funzione calcHist, che calcola l'istogramma di un insieme di array (solitamente immagini o piani di immagini). Può funzionare fino a 32 dimensioni.