Dostosuj kontrast obrazu, jasność i gamma w języku C#

Kontrast), jasność i gamma to popularne atrybuty używane do dostrajania obrazów. Różne wartości tych atrybutów są ustawione w celu kontrolowania i ulepszania wyglądu obrazów. W tym artykule pokażemy, jak programowo dostosować kontrast, jasność i gamma obrazu w języku C#. Możesz to wykorzystać do zaimplementowania możliwości edycji obrazu z poziomu aplikacji .NET.

Interfejs API języka C# do dostosowywania kontrastu, jasności i gammy obrazu

Aspose.Imaging for .NET to potężny i bogaty w funkcje interfejs API do przetwarzania obrazu dla platform .NET/.NET Standard. Obsługuje manipulowanie szeroką gamą formatów obrazów bez pisania skomplikowanego kodu. Będziemy używać tego interfejsu API do dostosowywania kontrastu, jasności i współczynnika gamma obrazów w języku C#. Możesz pobrać interfejs API lub zainstalować go w swoich aplikacjach .NET za pomocą NuGet.

PM> Install-Package Aspose.Imaging

Dostosuj kontrast obrazu w C#

Kontrast definiuje się jako różnicę w intensywności pikseli. Jego wartość jest dostosowywana, aby obiekty na obrazie były bardziej widoczne i rozpoznawalne. Dzięki wysokiemu kontrastowi każdy obiekt na obrazie wygląda bardzo wyraźnie, podobnie jak zdjęcia wykonane w świetle słonecznym. Natomiast przy niskim kontraście trudno rozróżnić obiekty, tak jak przy mglistej pogodzie.

Sprawdźmy, jak dostosować kontrast obrazu w C# przy użyciu Aspose.Imaging for .NET.

Poniższy przykład kodu pokazuje, jak dostosować kontrast obrazu w języku C#.

// Załaduj obraz w instancji Image
using (Image image = Image.Load("image.png"))
{
    // Rzuć na obraz rastrowy
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage dla lepszej wydajności
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Dostosuj kontrast
    rasterImage.AdjustContrast(30);             

    // Zapisać obraz
    image.Save("image-updated-contrast.png");
}

Poniżej przedstawiono porównanie obrazów wejściowych i wyjściowych po zwiększeniu wartości kontrastu.

Dostosuj kontrast obrazów w C#

Dostosuj kontrast obrazu

Dostosuj jasność obrazu w C#

Atrybut jasności zwykle steruje widocznością obiektów na obrazie. Jego wartość jest dostosowywana w celu zwiększenia lub zmniejszenia ciemności. Poniżej przedstawiono kroki, aby zmodyfikować jasność obrazu w języku C#.

Poniższy przykład kodu pokazuje, jak dostosować jasność obrazu w języku C#.

// Załaduj obraz w instancji Image
using (Image image = Image.Load("image.png"))
{
    // Rzuć na obraz rastrowy
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage dla lepszej wydajności
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Dostosuj jasność
    rasterImage.AdjustBrightness(70);

    // Zapisać obraz
    image.Save("image-updated-bightness.png");
}

Poniżej przedstawiono porównanie obrazów wejściowych i wyjściowych po wyregulowaniu jasności.

Dostosuj jasność obrazów w C#

Dostosuj jasność obrazu

Zmodyfikuj gamma obrazu w C#

Atrybut gamma służy do modyfikowania proporcji kolorów czerwonego, zielonego i niebieskiego w obrazie. Ponadto modyfikuje również jasność obrazu. Poniżej przedstawiono kroki zmiany wartości gamma obrazu w języku C#.

Poniższy przykład kodu pokazuje, jak dostosować współczynnik gamma obrazu w języku C#.

// Załaduj obraz w instancji Image
using (Image image = Image.Load("image.png"))
{
    // Rzuć na obraz rastrowy
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage dla lepszej wydajności
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Dostosuj gammę
    rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);

    // Zapisać obraz
    image.Save("image-updated-gamma.png");
}

Poniżej przedstawiono porównanie obrazów wejściowych i wyjściowych po dostosowaniu wartości gamma.

Dostosuj gamma obrazów w C#

Dostosuj gamma obrazu

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.Imaging for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się dostosowywać kontrast, jasność i gamma obrazów w języku C#. Ponadto próbki kodu pokazały, jak wygląda obraz po zmodyfikowaniu kontrastu, jasności i gamma. Jeśli chcesz dowiedzieć się więcej o interfejsie API przetwarzania obrazu .NET, odwiedź dokumentację. Pobierz także kompletne próbki kodu źródłowego interfejsu API z GitHub. Jeśli masz jakieś pytania lub wątpliwości, skontaktuj się z nami na naszym forum.

Zobacz też