In verschiedenen Fällen müssen Sie möglicherweise die RGB Bilder in Graustufen oder Schwarzweiß konvertieren, z. B. bei der Bildverarbeitung usw. Dementsprechend erfahren Sie in diesem Artikel, wie Sie ein RGB Bild mit Java in Graustufen konvertieren . Darüber hinaus wird der Artikel Grauskalierung und Binarisierung der Bilder explizit behandeln.
- Java API zum Konvertieren von Bildern in Graustufen
- Konvertieren Sie Bilder in Java in Graustufen
- Konvertieren Sie Bilder mit Binarisierung in Schwarzweiß
Java API zum Konvertieren von Bildern in Graustufen
Um RGB Bilder in Graustufen umzuwandeln, verwenden wir Aspose.Imaging for Java. Es ist eine Java Bildverarbeitungs-API, mit der Sie gängige Bildformate nahtlos bearbeiten können. Sie können die API entweder herunterladen oder sie mit den folgenden Maven konfigurationen installieren.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-java</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Konvertieren Sie ein Bild in Java in Graustufen
Im Folgenden sind die Schritte zum Konvertieren eines RGB Bildes in Graustufen in Java aufgeführt.
- Laden Sie zuerst das Bild mit der Klasse Image.
- Wandeln Sie das Bild dann in ein RasterCachedImage objekt um.
- Cachen Sie das Bild mit der methode RasterCachedImage.cacheData().
- Konvertieren Sie das Bild mit der methode RasterCachedImage.grayscale() in Graustufen.
- Speichern Sie abschließend das Bild mit der methode RasterCachedImage.save(String).
Das folgende Codebeispiel zeigt, wie Sie ein Bild mit Java in Graustufen konvertieren.
// Laden Sie ein Bild in eine Instanz von Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// Wandeln Sie das Bild in RasterCachedImage um
RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
// Überprüfen Sie, ob das Bild zwischengespeichert ist
if (!rasterCachedImage.isCached()) {
// Bild zwischenspeichern, falls noch nicht zwischengespeichert
rasterCachedImage.cacheData();
}
// Wandeln Sie das Bild in seine Graustufendarstellung um
rasterCachedImage.grayscale();
// Speichern Sie das resultierende Bild
rasterCachedImage.save("Grayscaling_out.jpg");
}
Eingabebild
Das Folgende ist ein Beispielbild, das in diesem Artikel verwendet wird.
In Graustufen konvertiert
Das Folgende ist das Bild nach der Umwandlung in Graustufen.
Konvertieren Sie Bilder mit Binarisierung in Schwarzweiß
Bei der Binarisierung kann jedes Pixel in einem Bild nur zwei mögliche Werte haben; 0 oder 1. Dabei bedeutet 0 das Fehlen und 1 das Vorhandensein der Farbe. Aspose.Imaging unterstützt zwei Binarisierungsmethoden, dh Binarisierung mit festem und Binarisierung mit Otsu-Schwellenwert.
Binarisierung mit festem Schwellenwert in Java
Im Folgenden sind die Schritte zum Durchführen der Binarisierung eines Bildes unter Verwendung eines festen Schwellenwerts aufgeführt.
- Laden Sie zuerst das Bild mit der Klasse Image.
- Wandeln Sie das Bild dann in ein RasterCachedImage objekt um.
- Cachen Sie das Bild mit der methode RasterCachedImage.cacheData().
- Konvertieren Sie das Bild mit der methode RasterCachedImage.binarizeFixed() in Schwarzweiß.
- Speichern Sie abschließend das Bild mit der methode RasterCachedImage.save(String).
Der folgende Java-Code wendet die Binarisierung auf ein Bild an und konvertiert es in Schwarzweiß.
// Laden Sie ein Bild in eine Instanz von Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// Wandeln Sie das Bild in RasterCachedImage um und prüfen Sie, ob das Bild zwischengespeichert ist
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Bild zwischenspeichern, falls noch nicht zwischengespeichert
rasterCachedImage.CacheData();
}
// Binarisieren Sie das Bild mit einem vordefinierten festen Schwellenwert und speichern Sie das resultierende Bild
rasterCachedImage.binarizeFixed((byte) 100);
rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}
Binarisierung mit Otsu Threshold in Java
Im Folgenden sind die Schritte zum Konvertieren eines Bildes in Schwarzweiß mit dem Otsu-Schwellenwert aufgeführt.
- Laden Sie zuerst das Bild mit der Klasse Image.
- Wandeln Sie das Bild in ein RasterCachedImage objekt um.
- Cachen Sie das Bild mit der methode RasterCachedImage.cacheData().
- Konvertieren Sie das Bild mit der methode RasterCachedImage.binarizeOtsu() in Schwarzweiß.
- Speichern Sie abschließend das Bild mit der methode RasterCachedImage.save(String).
Das folgende Codebeispiel zeigt, wie Sie ein Bild mit Otsu-Schwellenwert mithilfe von Java in Schwarzweiß konvertieren.
// Laden Sie ein Bild in eine Instanz von Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// Wandeln Sie das Bild in RasterCachedImage um und prüfen Sie, ob das Bild zwischengespeichert ist
RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
if (!rasterCachedImage.isCached())
{
// Bild zwischenspeichern, falls noch nicht zwischengespeichert
rasterCachedImage.cacheData();
}
// Binarisieren Sie das Bild mit Otsu Thresholding
rasterCachedImage.binarizeOtsu();
// Speichern Sie das resultierende Bild
rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}
Holen Sie sich eine kostenlose API Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu verwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie ein Bild mit Java in Graustufen und Schwarzweiß konvertieren. Außerdem haben Sie gesehen, wie Sie die Binarisierung auf die Bilder mit festem oder Otsu-Schwellenwert anwenden. Darüber hinaus können Sie mithilfe der Dokumentation mehr über die Java Bildverarbeitungs-API erfahren. Außerdem können Sie uns Ihre Fragen über unser Forum mitteilen.