Java DIP - Open Source-Bibliotheken

In diesem Kapitel untersuchen wir einige der kostenlosen Bildverarbeitungsbibliotheken, die weit verbreitet sind und problemlos in das Projekt integriert werden können. Diese Bibliotheken umfassen -

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

ImageJ

ImageJ ist ein gemeinfreies Java-Bildverarbeitungsprogramm, das von NIH Image für den Macintosh inspiriert wurde. Es kann 8-Bit-, 16-Bit- und 32-Bit-Bilder anzeigen, bearbeiten, analysieren, verarbeiten, speichern und drucken.

Einige der Grundfunktionen von ImageJ werden im Folgenden beschrieben -

Sr.Nr. Funktion & Beschreibung
1

Runs Everywhere

ImageJ ist in Java geschrieben, sodass es unter Linux, Mac OS X und Windows sowohl im 32-Bit- als auch im 64-Bit-Modus ausgeführt werden kann.

2

Open Source

ImageJ und sein Java-Quellcode sind frei verfügbar und gemeinfrei.

3

Toolkit

Verwenden Sie ImageJ als Bildverarbeitungs-Toolkit (Klassenbibliothek), um Applets, Servlets oder Anwendungen zu entwickeln.

4

Data Types

8-Bit-Graustufen- oder indizierte Farbe, 16-Bit-Ganzzahl ohne Vorzeichen, 32-Bit-Gleitkomma und RGB-Farbe.

5

File Formats

Öffnen und speichern Sie GIF, JPEG, BMP, PNG, PGM, FITS und ASCII. Öffnen Sie DICOM. Öffnen Sie TIFFs, GIFs, JPEGs, DICOMs und Rohdaten mithilfe einer URL.

6

Selections

Erstellen Sie rechteckige, elliptische oder unregelmäßige Bereiche. Erstellen Sie eine Linien- und Punktauswahl.

7

Image Enhancement

Unterstützt Glätten, Schärfen, Kantenerkennung, Medianfilterung und Schwellenwertbildung für 8-Bit-Graustufen- und RGB-Farbbilder.

8

Color Processing

Teilen Sie ein 32-Bit-Farbbild in RGB- oder HSV-Komponenten auf. Fügen Sie 8-Bit-Komponenten zu einem Farbbild zusammen.

Fidschi

Fidschi ist ein Bildverarbeitungspaket. Es kann als eine Distribution von ImageJ (und ImageJ2) zusammen mit Java, Java3D und vielen Plug-Ins beschrieben werden, die in einer kohärenten Menüstruktur organisiert sind. Fidschi vergleicht sich mit ImageJ wie Ubuntu mit Linux.

Abgesehen von den Grundfunktionen von ImageJ werden im Folgenden einige der erweiterten Funktionen von Fidschi beschrieben -

Sr.Nr. Funktion & Beschreibung
1

Registering 3D images

Dies beinhaltet elastische Ausrichtung und Montage, Merkmalsextraktion, Bildstabilisator usw.

2

Segmenting images

Es bietet mehr als 35 Arten der Segmentierung.

3

Useful keyboard short cuts

Fuji hat viele Tastaturkürzel.

4

Scripting

Ermöglichen Sie Skripts mit Makros in JavaScript, JRuby, Jython, Clojure und Beanshell.

5

Developing Plug-ins

Verwenden Sie den Skript-Editor, um mit der Entwicklung von Plug-Ins zu beginnen, und führen Sie dann die Plug-Ins aus.

6

ImageJ Tricks

ImageJ ist einfach zu bedienen, aber manchmal möchten Sie eine Funktion, die tatsächlich implementiert ist, aber Sie wissen nicht, wie Sie sie auslösen sollen.

Commons Imaging

Apache Commons Imaging, früher bekannt als Apache Commons Sanselan, ist eine Bibliothek, die eine Vielzahl von Bildformaten liest und schreibt, einschließlich des schnellen Parsens von Bildinformationen wie (Größe, Farbe, Raum, ICC-Profil usw.) und der Metadaten.

Einige der Grundfunktionen von ImageJ werden im Folgenden beschrieben -

Sr.Nr. Funktion & Beschreibung
1

Java

Apache Commons Imaging ist in 100% reinem Java geschrieben. Es kann auf jeder JVM und jeder Plattform ohne Änderungen ausgeführt werden.

2

Image Formats

Es liest und schreibt eine Vielzahl von Bildformaten und unterstützt einige Variationen und Codierungen, die von allen oder den meisten anderen Bibliotheken übersehen werden.

3

Metadata support

Es unterstützt das strukturierte Lesen und Schreiben einer Vielzahl von Metadaten, einschließlich EXIF-Metadaten.

4

Network Friendly

Es ist netzwerkfreundlich. Commons Imaging liest nur die benötigten Daten und speichert die gelesenen Daten zwischen, damit sie nicht zu stark im Netzwerk sind.

5

Easy to use

Es ist sehr einfach zu bedienen. Es hat eine einfache, saubere Oberfläche. Bei den meisten Vorgängen handelt es sich um einzelne Imaging-Methodenaufrufe.

6

Transparent

Commons Imaging soll transparent sein. Es gibt keine versteckten Puffer zum Entsorgen, keinen nativen Speicher zum Freigeben, keine Hintergrundthreads.

7

Open Source

Es ist Freie Software / Open Source. Es ist unter der Apache Software License verfügbar.

8

Color Conversions

Die ColorConversions-Klasse bietet Methoden zum Konvertieren zwischen den folgenden Farbräumen: CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ und YXY.

ImageMagick

ImageMagick ist eine Software-Suite zum Erstellen, Bearbeiten, Erstellen oder Konvertieren von Bitmap-Bildern. Es kann Bilder in mehr als 100 Formaten lesen und schreiben, einschließlich DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG und TIFF. Verwenden Sie ImageMagick, um die Größe zu ändern, zu spiegeln, zu spiegeln, zu drehen, zu verzerren, zu scheren und zu transformieren, Bildfarben anzupassen, verschiedene Spezialeffekte anzuwenden oder Text, Linien, Polygone, Ellipsen und Bezier-Kurven zu zeichnen.

Einige der Grundfunktionen von ImageMagick werden im Folgenden beschrieben:

Sr.Nr. Funktion & Beschreibung
1

Format conversion

Es konvertiert ein Bild von einem Format in ein anderes (z. B. PNG in JPEG).

2

Transform

Es kann die Größe eines Bildes ändern, es drehen, zuschneiden, spiegeln oder zuschneiden.

3

Transparency

Es macht Teile eines Bildes unsichtbar.

4

Draw

Es fügt einem Bild Formen oder Text hinzu.

5

Decorate

Es fügt einem Bild einen Rand oder Rahmen hinzu.

6

Special effects

Es kann ein Bild verwischen, schärfen, schwellen oder tönen.

7

Animation

Es kann eine GIF-Animationssequenz aus einer Gruppe von Bildern erstellen.

8

Composite

Es kann ein Bild über ein anderes überlappen.

9

Morphology of shapes

Es extrahiert Merkmale, beschreibt Formen und erkennt Muster in Bildern.

10

Encipher or decipher an image

Es wandelt gewöhnliche Bilder in unverständlichen Kauderwelsch um und wieder zurück.

Endrov

Endrov ist ein Mehrzweck-Bildanalyseprogramm. Es ist unabhängig geschrieben und wurde entwickelt, um viele der Mängel anderer freier Software und vieler kommerzieller Pakete zu beheben.

Einige der Grundfunktionen von Endrov werden im Folgenden beschrieben -

Sr.Nr. Funktion & Beschreibung
1

View data

Es zeigt Daten in 2D und 3D an. Entwickelt für komplexe 4D-Datenschemata und eine unbegrenzte Anzahl von Kanälen, wobei jeder Kanal seine eigene X-, Y- und Z-Auflösung haben kann.

2

Annotate your images

Es kommentiert Ihre Bilder automatisch oder von Hand, um sie zu verstehen und Statistiken zu erhalten.

3

Undo and Redo

Es kann für alle Vorgänge rückgängig gemacht und wiederholt werden.

4

Lazy Evaluation

Es wurde vom Boden aus für große Bildmengen entwickelt. Endrov verwendet Lazy Evaluation, ein Konzept, das hauptsächlich in Forschungsprogrammiersprachen verfügbar ist.

5

Scripting language

Es unterstützt grafische Skriptsprache sowie traditionelles Skripts.

6

Java

Geschrieben in Java. Die Plug-In-Architektur ermöglicht eine einfache Erweiterung mit neuen Java-Plug-Ins. Es kann mit Matlab interagieren.

7

Formats

Es greift mit Bio-Formaten auf fast alle kommerziellen und offenen Dateiformate zu.

8

Microscopic Processing

Es kann alle Ihre Mikroskope mit einem Programm steuern und Bildanalysen im laufenden Betrieb durchführen.

LEADTOOLS

LEADTOOLS bietet über 200 Bildverarbeitungsfunktionen in verschiedenen Kategorien, darunter Dokumentenbereinigung, medizinische Bildverbesserung, Farbkonvertierung und -korrektur, Rauschunterdrückung, Kantenerkennung und mehr.

Einige der Grundfunktionen von LEADTOOLS werden im Folgenden beschrieben -

Sr.Nr. Funktion & Beschreibung
1

Scanned Document Image Processing

Diese leistungsstarke Sammlung von Funktionen kann gescannte Dokumente von Artefakten und Unvollkommenheiten wie Lochungen, Schrägwinkeln, Rändern, Staubflecken und mehr lesen.

2

Medical Image Processing

Verbessern Sie das Bild oder markieren Sie die Details, indem Sie den Hintergrund verschieben, auswählen, subtrahieren und entfernen, um eine bessere Darstellung zu erzielen.

3

Geometric Transformation

Mit diesen Funktionen können Sie Bilder bereinigen, ausrichten, korrigieren oder künstlerische 3D-Effekte anwenden.

4

Brightness and Contrast

Diese Funktionen können verwendet werden, um Bilder zu verbessern, künstlerische Effekte anzuwenden oder die diagnostische Bewertung medizinischer Bilder zu unterstützen.

5

Color Space Conversion

Sie können Einzel- und Multithread-Anwendungen, einschließlich von IIS und Windows WF gehosteter Anwendungen, Bildfarbraumfunktionen hinzufügen.

6

Color Correction

Diese Funktionen werden verwendet, um Bilder mit vertauschten Farbkanälen zu korrigieren, Farbintensitäten auszugleichen oder verschiedene Bildanalyseaufgaben auszuführen.

7

Image Enhancement

Diese Funktionen werden verwendet, um häufige Fehler in der Fotografie wie rote Augen und unausgeglichene Farben zu korrigieren und die diagnostische Bewertung medizinischer Bilder zu unterstützen.

8

Region of Interest

Diese Funktionen werden verwendet, um interessierende Bereiche in Bildern zu erstellen und zu ändern, um Bildverarbeitungsfunktionen für bestimmte Teile eines Bildes auszuführen, Zeit im Strichcode und in der OCR-Erkennung zu sparen oder verschiedene Bildanalyseaufgaben auszuführen.

OpenCV

OpenCV wird unter einer BSD-Lizenz veröffentlicht und ist daher sowohl für den akademischen als auch für den kommerziellen Gebrauch kostenlos. Es verfügt über C ++ -, C-, Python- und Java-Schnittstellen und unterstützt Windows, Linux, Mac OS, iOS und Android. OpenCV wurde für Recheneffizienz und mit einem starken Fokus auf Echtzeitanwendungen entwickelt. Die in optimiertem C / C ++ geschriebene Bibliothek kann die Multi-Core-Verarbeitung nutzen.

Einige grundlegende Funktionen von OpenCV werden kurz beschrieben -

Sr.Nr. Funktion & Beschreibung
1

Smoothing Images

Dies beinhaltet das Anwenden von Blur, GaussianBlur, MedianBlur und bilateralem Filter.

2

Eroding and Dilating

Es können zwei sehr gebräuchliche Morphologieoperatoren angewendet werden - Dilatation und Erosion.

3

Morphology Transformations

OpenCV-Funktion morphologyEx zum Anwenden morphologischer Transformationen wie Öffnen, Schließen, TopHat und BlackHat usw.

4

Image Pyramids

OpenCV funktioniert mit pyrUp und pyrDown, um ein bestimmtes Bild abwärts oder aufwärts abzutasten.

4

Basic Thresholding Operations

Führen Sie grundlegende Schwellenwertoperationen mit dem OpenCV-Funktionsschwellenwert aus.

5

Adding borders to your images

Mit der OpenCV-Funktion copyMakeBorder werden die Ränder festgelegt (zusätzliche Auffüllung Ihres Bildes).

7

Remapping

In OpenCV bietet die Funktions-Remap eine einfache Remapping-Implementierung.

8

Histogram Calculation

Für einfache Zwecke implementiert OpenCV die Funktion calcHist, die das Histogramm einer Reihe von Arrays (normalerweise Bilder oder Bildebenen) berechnet. Es kann mit bis zu 32 Dimensionen betrieben werden.