画像をグレースケールに変換

カラー画像を白黒に変換することは、写真やデザインの分野で何十年もの間、人気のテクニックです。色は鮮やかさを増しますが、画像の核となる要素から注意をそらすこともあります。白黒変換により、構図、コントラスト、テクスチャに焦点を当てることができ、カラフルなシーンでは失われがちな細かいディテールを引き出すことができます。

この変換は、シンプルさと明瞭さが重要となるプロの写真、印刷、さまざまなデザイン アプリケーションで特に役立ちます。

画像変換API

Aspose.Imaging Cloud を使用して、BMP、GIF、JPEG、PSD、TIFF、WEBP、PNG などの サポートされているファイル形式 の画像を変換、編集、または操作できます。膨大な画像データベースを持つ組織では、サイズを考慮してグレースケール画像を保持することを好みます。たとえば、一部の法執行機関では、顔の特徴や形状を色よりも重要または効率的であると考えています。Aspose.Imaging Cloud API を使用して、トゥルーカラー画像をグレースケールに変換するための利用可能な API を見てみましょう。

| API | 説明 |

| —————————– | —————- |

| GET /imaging/{name}/grayscale | 既存の画像をグレースケール化します |

| POST /imaging/grayscale | 画像をグレースケール化します。画像データは、ゼロインデックスの multipart/form-data コンテンツまたは生のボディ ストリームとして渡されます |

次の C# .NET コード スニペットを使用すると、画像を白黒に変換できます。

// https://dashboard.aspose.cloud/ から AppKey と AppSID を取得します。
// NuGet パッケージ Aspose.Imaging-Cloud をインストールする
// 完全な例とデータファイルについては、https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet をご覧ください。

const string MyAppKey = "";
const string MyAppSid = "";
this.ImagingApi = new ImagingApi(MyAppKey, MyAppSid, "https://api.aspose.cloud/", "v3.0", false);
const string SaveImageFormat = "bmp";
string fileName = "Test.bmp";

// ローカル画像をクラウドストレージにアップロードする
using (FileStream localInputImage = File.OpenRead(fileName))
{
    var uploadFileRequest = new UploadFileRequest(fileName, localInputImage);
    FilesUploadResult result = this.ImagingApi.UploadFile(uploadFileRequest);
}

string folder = null; 
string storage = null; // using default Cloud Storage

var request = new GrayscaleImageRequest(fileName, folder, storage);
Console.WriteLine($"Call Grayscale Image");
using (Stream updatedImage = this.ImagingApi.GrayscaleImage(request))
{
    // 更新された画像をクラウドストレージにアップロードする
    string outPath = "Grayscale_out." + SaveImageFormat;
    var uploadFileRequest = new UploadFileRequest(outPath, updatedImage);
    FilesUploadResult result = this.ImagingApi.UploadFile(uploadFileRequest);
}

このコード スニペットは、入力ファイルをローカル ストレージからクラウド ストレージにアップロードし、RGB 画像をグレースケール画像に変換します。API は、次のスクリーンショットのような出力グレースケール画像をクラウド ストレージに保存します。

入力画像

出力画像

グレースケール画像

リクエストでソース ファイルが渡され、応答に変換されたグレースケール画像がローカル ストレージに保存される別のシナリオを確認してみましょう。このアプローチでは、クラウド ストレージから画像をアップロードまたはダウンロードする必要はありません。以下は、このワークフローに基づく C# コード スニペットです。

// https://dashboard.aspose.cloud/ から AppKey と AppSID を取得します。
// NuGet パッケージ Aspose.Imaging-Cloud をインストールする
// 完全な例とデータファイルについては、https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet をご覧ください。

Console.WriteLine("Grayscales the image from request body");
const string MyAppKey = "";
const string MyAppSid = "";
this.ImagingApi = new ImagingApi(MyAppKey, MyAppSid, "https://api.aspose.cloud/", "v3.0", false);
const string SaveImageFormat = "png";
string fileName = "WaterMark.png";
using (FileStream inputImageStream = File.OpenRead(ImagingBase.PathToDataFiles + fileName))
{
    string storage = null; // We are using default Cloud Storage
    string outPath = null; // Path to updated file (if this is empty, response contains streamed image)
    var request = new CreateGrayscaledImageRequest(inputImageStream, outPath, storage);
    Console.WriteLine($"Call CreateGrayscale Image");
    using (Stream updatedImage = this.ImagingApi.CreateGrayscaledImage(request))
    {
        SaveUpdatedSampleImageToOutput(updatedImage, true, SaveImageFormat);
    }
}

他のプログラミング言語で同じ機能を使用することを考えていませんか? 心配はいりません。Aspose.Imaging Cloud SDK はすべての一般的な言語で利用できるため、お気に入りのプラットフォームから簡単に API を呼び出すことができます。さらに、画像からグレースケールへの変換例を PythonJavaPHPNode.jsRuby などのサポートされている言語に移植しました。

Aspose.Imaging Cloud API は、アプリケーションを次のレベルに一歩前進させます。このリリースには、いくつかの例外の修正や複数ページの画像のエクスポートの改善など、その他の多くの修正とメンテナンスも含まれています。詳細については、リリース ノート で概要を確認してください。サインアップ して、今すぐ API の学習を開始できます。

便利なリンク

]

関連記事: