I olika fall kan du behöva konvertera RGB-bilderna till gråskala eller svartvitt, till exempel vid bildbehandling etc. Följaktligen kommer du i den här artikeln att lära dig hur du konverterar en RGB-bild till gråskala med Java. Dessutom kommer artikeln att behandla gråskalning och binarisering av bilderna explicit.
- Java API för att konvertera färgbild till gråskala
- Konvertera bild till gråskala i Java
- Konvertera bild till svartvitt med binarisering
Konvertera färgbild till gråskala i Java - API-installation
För att konvertera RGB-bilder till gråskala använder vi Aspose.Imaging for Java. Det är ett Java-bildbehandlings-API som låter dig manipulera populära bildformat sömlöst. Du kan antingen ladda ner API:et eller installera det med följande Maven-konfigurationer.
<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>
Konvertera en RGB-bild till gråskala i Java
Följande är stegen för att konvertera en RGB-bild till gråskala i Java.
- Ladda först in bilden med klassen Image.
- Kasta sedan 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 i Java.
// Ladda en bild i en instans av Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// Kasta bilden till RasterCachedImage
RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
// Kontrollera om bilden är cachad
if (!rasterCachedImage.isCached()) {
// Cachebild om den inte redan är cachad
rasterCachedImage.cacheData();
}
// Förvandla bilden till dess gråskalerepresentation
rasterCachedImage.grayscale();
// Spara den resulterande bilden
rasterCachedImage.save("Grayscaling_out.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.
Java-bild till gråskala - 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
Följande är stegen för att utföra binarisering på en bild med hjälp av fast tröskel.
- Ladda först in bilden med klassen Image.
- Kasta sedan bilden till ett RasterCachedImage objekt.
- Cachelagra bilden med metoden RasterCachedImage.cacheData().
- Konvertera bild till svartvitt med metoden RasterCachedImage.binarizeFixed().
- Slutligen sparar du bilden med metoden RasterCachedImage.save(String).
Följande Java-kod tillämpar binarisering på en bild och konverterar den till svartvitt.
// Ladda en bild i en instans av Image
try (Image image = Image.load("aspose-logo.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();
}
// Binarisera bilden med fördefinierat fast tröskelvärde och spara den resulterande bilden
rasterCachedImage.binarizeFixed((byte) 100);
rasterCachedImage.save("BinarizationWithFixedThreshold_out.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 Java.
// Ladda en bild i en instans av Image
try (Image image = Image.load("aspose-logo.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();
}
// Binarisera bilden med Otsu Thresholding
rasterCachedImage.binarizeOtsu();
// Spara den resulterande bilden
rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}
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 färgbild till gråskala och svartvitt med Java. Dessutom har du sett hur man tillämpar binarisering på bilderna med fasta eller Otsu-trösklar. Dessutom kan du utforska mer om Javas bildbehandlings-API med hjälp av dokumentation. Du kan också dela dina frågor med oss via vårt forum.