C#で画像のコントラスト、明るさ、ガンマを調整する

コントラスト)、明るさ、およびγ3は、画像の調整に使用される一般的な属性です。これらの属性のさまざまな値を設定して、画像の外観を制御および強化します。この記事では、C#でプログラムによって画像のコントラスト、明るさ、ガンマを調整する方法を紹介します。これを利用して、.NETアプリケーション内から画像編集機能を実装できます。

画像のコントラスト、明るさ、ガンマを調整するC#API

Aspose.Imaging for .NETは、.NET /.NETStandardプラットフォーム向けの強力で機能豊富な画像処理APIです。複雑なコードを記述せずに、さまざまな画像形式の操作をサポートします。このAPIを使用して、C#の画像のコントラスト、明るさ、ガンマを調整します。 APIをダウンロードするか、NuGetを使用して.NETアプリケーションにインストールできます。

PM> Install-Package Aspose.Imaging

C#で画像のコントラストを調整する

コントラストは、ピクセル強度の差として定義されます。その値は、画像内のオブジェクトをより見やすく識別しやすくするために調整されます。コントラストが高いため、画像内のすべてのオブジェクトは、太陽光の下で撮影された写真と同じように非常に鮮明に見えます。一方、コントラストが低いと、霧の天気のようにオブジェクトを区別することはほとんどできません。

Aspose.Imaging for .NETを使用して、C#で画像のコントラストを調整する方法を確認しましょう。

  • まず、Imageクラスを使用して画像を読み込みます。
  • 次に、オブジェクトをRasterImageタイプにキャストします。
  • RasterImage.CacheData()メソッドを使用していない場合は、画像をキャッシュします。
  • RasterImage.AdjustContrast(float)メソッドを使用して、範囲[-100、100]のコントラストを調整します。
  • 最後に、RasterImage.Save(string)メソッドを使用して結果の画像を保存します。

次のコードサンプルは、C#で画像のコントラストを調整する方法を示しています。

// Imageのインスタンスに画像をロードします
using (Image image = Image.Load("image.png"))
{
    // ラスターイメージにキャスト
    RasterImage rasterImage = (RasterImage)image;

    // パフォーマンスを向上させるためにRasterImageをキャッシュする
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // コントラストを調整する
    rasterImage.AdjustContrast(30);             

    // 画像を保存
    image.Save("image-updated-contrast.png");
}

以下は、コントラスト値を上げた後の入力画像と出力画像の比較です。

C#で画像のコントラストを調整する

画像のコントラストを調整する

C#で画像の明るさを調整する

明るさ属性は通常、画像内のオブジェクトの可視性を制御します。その値は、暗さを増減するように調整されます。以下は、C#で画像の明るさを変更する手順です。

次のコードサンプルは、C#で画像の明るさを調整する方法を示しています。

// Imageのインスタンスに画像をロードします
using (Image image = Image.Load("image.png"))
{
    // ラスターイメージにキャスト
    RasterImage rasterImage = (RasterImage)image;

    // パフォーマンスを向上させるためにRasterImageをキャッシュする
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // 明るさを調整する
    rasterImage.AdjustBrightness(70);

    // 画像を保存
    image.Save("image-updated-bightness.png");
}

以下は、明るさを調整した後の入力画像と出力画像の比較です。

C#で画像の明るさを調整する

画像の明るさを調整する

C#で画像のガンマを変更する

ガンマ属性は、画像の赤、緑、青の色の比率を変更するために使用されます。さらに、画像の明るさも変更します。以下は、C#で画像のガンマ値を変更する手順です。

次のコードサンプルは、C#で画像のガンマを調整する方法を示しています。

// Imageのインスタンスに画像をロードします
using (Image image = Image.Load("image.png"))
{
    // ラスターイメージにキャスト
    RasterImage rasterImage = (RasterImage)image;

    // パフォーマンスを向上させるためにRasterImageをキャッシュする
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // ガンマを調整する
    rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);

    // 画像を保存
    image.Save("image-updated-gamma.png");
}

以下は、ガンマ値を調整した後の入力画像と出力画像の比較です。

C#で画像のガンマを調整する

画像ガンマを調整する

無料のAPIライセンスを取得する

無料の一時ライセンスを取得、評価の制限なしにAspose.Imaging for .NETを使用できます。

結論

この記事では、C#で画像のコントラスト、明るさ、ガンマを調整する方法を学びました。さらに、コードサンプルは、コントラスト、明るさ、ガンマを変更した後の画像の外観を示しています。 .NET画像処理APIについて詳しく知りたい場合は、ドキュメントにアクセスしてください。また、GitHubからAPIの完全なソースコードサンプルをダウンロードします。ご不明な点やご質問がございましたら、フォーラムまでお問い合わせください。

関連項目