In verschiedenen Fällen müssen Sie möglicherweise Farbbilder in Graustufen oder Schwarzweiß konvertieren, z. B. bei der Bildverarbeitung usw. Daher erfahren Sie in diesem Artikel, wie Sie ein Bild mit C# in Graustufen konvertieren. Darüber hinaus wird der Artikel die Grauskalierung und Binarisierung der Bilder explizit behandeln.
- C# API zum Konvertieren von Bildern in Graustufen
- Konvertieren Sie Bilder in C# in Graustufen
- Konvertieren Sie Bilder mit Binarisierung in Schwarzweiß
- Holen Sie sich eine kostenlose API Lizenz
C# API zum Konvertieren von Bildern in Graustufen
Um RGB-Farbbilder in Graustufen umzuwandeln, verwenden wir Aspose.Imaging for .NET. Es ist eine leistungsstarke Bildverarbeitungs-API, mit der Sie gängige Bildformate nahtlos bearbeiten können. Sie können die API entweder herunterladen oder sie mit NuGet installieren.
PM> Install-Package Aspose.Imaging
Konvertieren Sie ein Bild in C# in Graustufen
Im Folgenden werden die Schritte zum Konvertieren eines Farbbilds in Graustufen in C# beschrieben.
- 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.Grayscale() in Graustufen.
- Speichern Sie abschließend das Bild mit der methode RasterCachedImage.Save(String).
Das folgende Codebeispiel zeigt, wie Sie ein Bild mit C# in Graustufen konvertieren.
// Laden Sie ein Bild in eine Instanz der Image Klasse
using (Image image = Image.Load("aspose.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();
}
// Wandeln Sie das Bild in seine Graustufendarstellung um
rasterCachedImage.Grayscale();
// Speichern Sie das Bild
rasterCachedImage.Save("grayscaled.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 C#
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 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 schließlich das Bild mit der methode RasterCachedImage.Save(String).
Der folgende C# Code wendet die Binarisierung auf ein Bild an und konvertiert es in Schwarzweiß.
// Laden Sie ein Bild in eine Instanz der Image Klasse
using (Image image = Image.Load("aspose.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 nicht bereits zwischengespeichert
rasterCachedImage.CacheData();
}
// Wandeln Sie das Bild in seine binäre Darstellung um
rasterCachedImage.BinarizeFixed(100);
// Speichern Sie das Bild
rasterCachedImage.Save("black and white.jpg");
}
Binarisierung mit Otsu Threshold in C#
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 dem Otsu-Schwellenwert mithilfe von C# in Schwarzweiß konvertieren.
// Laden Sie ein Bild in eine Instanz der Image Klasse
using (Image image = Image.Load("aspose.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();
}
// Wandeln Sie das Bild in seine binäre Darstellung um
rasterCachedImage.BinarizeOtsu();
// Speichern Sie das Bild
rasterCachedImage.Save("black and white.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 C# 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 von Dokumentation mehr über die C# Bildverarbeitungs-API erfahren. Außerdem können Sie uns Ihre Fragen über unser Forum mitteilen.