Obraz RGB do skali szarości java

W różnych przypadkach może być konieczna konwersja obrazów RGB do skali szarości lub czerni i bieli, na przykład podczas przetwarzania obrazu itp. Zgodnie z tym w tym artykule dowiesz się, jak przekonwertować obraz RGB do skali szarości za pomocą języka Java . Ponadto w artykule szczegółowo omówione zostanie skalowanie szarości i binaryzacja obrazów.

Konwerter obrazu kolorowego Java na skalę szarości — bezpłatne pobieranie

Aby przekonwertować obrazy RGB na skalę szarości, użyjemy Aspose.Imaging for Java. Jest to interfejs API przetwarzania obrazu Java, który umożliwia bezproblemowe manipulowanie popularnymi formatami obrazów. Możesz pobrać interfejs API lub zainstalować go przy użyciu następujących konfiguracji Mavena.

<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>

Konwertuj obraz RGB na skalę szarości w Javie

Poniżej przedstawiono kroki konwersji obrazu RGB na skalę szarości w Javie.

Poniższy przykładowy kod pokazuje, jak przekonwertować obraz na skalę szarości w Javie.

// Załaduj obraz w instancji Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Prześlij obraz do RasterCachedImage
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    
    // Sprawdź, czy obraz jest zapisany w pamięci podręcznej
    if (!rasterCachedImage.isCached()) {
        // Obraz w pamięci podręcznej, jeśli nie jest jeszcze w pamięci podręcznej
        rasterCachedImage.cacheData();
    }
    // Przekształć obraz do jego reprezentacji w skali szarości
    rasterCachedImage.grayscale();
    
    // Zapisz wynikowy obraz
    rasterCachedImage.save("Grayscaling_out.jpg");
}

Obraz wejściowy

Poniżej znajduje się przykładowy obraz użyty w tym artykule.

obraz do Java w skali szarości

Konwertowane na skalę szarości

Poniżej znajduje się obraz po konwersji do skali szarości.

obraz w skali szarości

Java Zapisz obraz jako czarno-biały z binaryzacją

W przypadku binaryzacji każdy piksel obrazu może mieć tylko dwie możliwe wartości; 0 lub 1. Tutaj 0 oznacza brak, a 1 oznacza obecność koloru. Aspose.Imaging wspiera dwie metody binaryzacji tj. binaryzację z ustalonym progiem oraz binaryzację z progiem Otsu.

Binaryzacja ze stałym progiem

Poniżej przedstawiono kroki przeprowadzania binaryzacji obrazu przy użyciu ustalonego progu.

Poniższy kod Java stosuje binaryzację do obrazu i konwertuje go na czarno-biały.

// Załaduj obraz w instancji Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Prześlij obraz do RasterCachedImage i sprawdź, czy obraz jest buforowany                
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Obraz w pamięci podręcznej, jeśli nie jest jeszcze w pamięci podręcznej
        rasterCachedImage.CacheData();
    }

    // Zbinaryzuj obraz z predefiniowanym stałym progiem i zapisz wynikowy obraz                
    rasterCachedImage.binarizeFixed((byte) 100);
    rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}

Binaryzacja z progiem Otsu

Poniżej przedstawiono krok konwersji obrazu na czarno-biały z progiem Otsu.

Poniższy przykładowy kod pokazuje, jak przekonwertować obraz na czarno-biały z progiem Otsu przy użyciu języka Java.

// Załaduj obraz w instancji Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Prześlij obraz do RasterCachedImage i sprawdź, czy obraz jest buforowany
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    if (!rasterCachedImage.isCached())
    {
        // Obraz w pamięci podręcznej, jeśli nie jest jeszcze w pamięci podręcznej
        rasterCachedImage.cacheData();
    }
    // Binaryzuj obraz za pomocą Otsu Thresholding
    rasterCachedImage.binarizeOtsu();
  
    // Zapisz wynikowy obraz
    rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}

Kolorowy obraz do konwertera Java w skali szarości — uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak przekonwertować obraz kolorowy na obraz w skali szarości i czarno-biały za pomocą języka Java. Ponadto widziałeś, jak zastosować binaryzację do obrazów ze stałym progiem lub progiem Otsu. Ponadto możesz dowiedzieć się więcej o interfejsie API przetwarzania obrazu Java, korzystając z dokumentacji. Możesz także podzielić się z nami swoimi pytaniami za pośrednictwem naszego forum.

Zobacz też