I olika fall kan du behöva konvertera färgbilderna till gråskala eller svartvitt, till exempel vid bildbehandling etc. Därför får du i den här artikeln lära dig hur du konverterar en bild till gråskala i C#. Dessutom kommer artikeln att täcka gråskalning och binarisering av bilder explicit.
- C# API för att konvertera bild till gråskala
- Konvertera bild till gråskala i C#
- Konvertera bild till svartvitt med binarisering
- Skaffa en gratis API-licens
C# Image to Grayscale Converter – gratis nedladdning
För att konvertera RGB-färgbilder till gråskala använder vi Aspose.Imaging for .NET. Det är ett kraftfullt bildbehandlings-API som låter dig manipulera populära bildformat sömlöst. Du kan antingen ladda ner API:t eller installera det med NuGet.
PM> Install-Package Aspose.Imaging
Konvertera en bild till gråskala i C#
Följande är stegen för att konvertera en färgbild till gråskala i C#.
- Ladda först in bilden med klassen Image.
- Kasta bilden till ett RasterCachedImage objekt.
- Cachelagra bilden med metoden RasterCachedImage.CacheData().
- Konvertera bild till gråskala med metoden RasterCachedImage.Grayscale().
- Slutligen sparar du bilden med metoden RasterCachedImage.Save(String).
Följande kodexempel visar hur man konverterar en bild till gråskala med C#.
// Ladda en bild i en instans av klassen Image
using (Image image = Image.Load("aspose.jpg"))
{
// Casta bilden till RasterCachedImage och kontrollera om bilden är cachad
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Cachebild om den inte redan är cachad
rasterCachedImage.CacheData();
}
// Förvandla bilden till dess gråskalerepresentation
rasterCachedImage.Grayscale();
// Spara bilden
rasterCachedImage.Save("grayscaled.jpg");
}
Mata in bild
Följande är en exempelbild som används i den här artikeln.
Konverterat till gråskala
Följande är bilden efter konvertering till gråskala.
Spara bild som gråskala i C# - Svartvitt med binarisering
Vid binarisering kan varje pixel i en bild endast ha två möjliga värden; 0 eller 1. Här anger 0 frånvaron och 1 anger närvaron av färgen. Aspose.Imaging stöder två binariseringsmetoder, dvs binarisering med fast och binarisering med Otsu-tröskel.
Binarisering med fast tröskel i C#
Följande är stegen för att utföra binarisering på en bild med ett fast tröskelvärde.
- Ladda först in bilden med klassen Image.
- Kasta bilden till ett RasterCachedImage objekt.
- Cachelagra bilden med metoden RasterCachedImage.CacheData().
- Konvertera bilden till svartvitt med metoden RasterCachedImage.BinarizeFixed().
- Slutligen sparar du bilden med metoden RasterCachedImage.Save(String).
Följande C#-kod tillämpar binarisering på en bild och konverterar den till svartvitt.
// Ladda en bild i en instans av klassen Image
using (Image image = Image.Load("aspose.jpg"))
{
// Casta bilden till RasterCachedImage och kontrollera om bilden är cachad
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Cachebild om den inte redan är cachad
rasterCachedImage.CacheData();
}
// Förvandla bilden till dess binära representation
rasterCachedImage.BinarizeFixed(100);
// Spara bilden
rasterCachedImage.Save("black and white.jpg");
}
Binarisering med Otsu Threshold
Följande är steget för att konvertera en bild till svartvitt med Otsu-tröskel.
- Ladda först in bilden med klassen Image.
- Kasta bilden till ett RasterCachedImage objekt.
- Cachelagra bilden med metoden RasterCachedImage.CacheData().
- Konvertera bild till svartvitt med metoden RasterCachedImage.BinarizeOtsu().
- Slutligen sparar du bilden med metoden RasterCachedImage.Save(String).
Följande kodexempel visar hur man konverterar en bild till svartvitt med Otsu-tröskel med C#.
// Ladda en bild i en instans av klassen Image
using (Image image = Image.Load("aspose.jpg"))
{
// Casta bilden till RasterCachedImage och kontrollera om bilden är cachad
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Cachebild om den inte redan är cachad
rasterCachedImage.CacheData();
}
// Förvandla bilden till dess binära representation
rasterCachedImage.BinarizeOtsu();
// Spara bilden
rasterCachedImage.Save("black and white.jpg");
}
C# Konvertera bild till gråskala med en gratis licens
Du kan få en gratis tillfällig licens och konvertera bilder till gråskala utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du konverterar en bild till gråskala och svartvitt med C#. Dessutom har du sett hur man tillämpar binarisering på bilderna med fasta eller Otsu-trösklar. Dessutom kan du utforska mer om C#s bildbehandlings-API med dokumentation. Du kan också dela dina frågor med oss via vårt forum.