影像轉灰度

幾十年來,將彩色影像轉換為黑白影像一直是攝影和設計中的流行技術。雖然顏色可以增加活力,但它也會分散人們對圖像核心元素的注意力。黑白轉換可讓您專注於構圖、對比度和紋理,呈現出色彩繽紛的場景中可能會丟失的更精細的細節。

這種轉換在專業攝影、印刷和各種設計應用程式中特別有用,因為簡單性和清晰度是關鍵。

影像轉換API

您可以使用 Aspose.Imaging Cloud 轉換、編輯或操作 BMP、GIF、JPEG、PSD、TIFF、WEBP、PNG 和其他支援的檔案格式 映像。出於尺寸考慮,擁有龐大圖片資料庫的組織更喜歡保留灰階影像。例如,一些執法機構會認為臉部特徵和幾何形狀與顏色相比同樣重要或有效。讓我們來看看使用 Aspose.Imaging Cloud API 進行真彩色影像到灰階轉換的可用 API。

|應用程式介面 |描述 |

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

|取得/成像/{名稱}/灰階|對現有影像進行灰階化 |

| POST /成像/灰階|對影像進行灰階化。影像資料作為零索引多部分/表單資料內容或作為原始正文流傳遞 |

以下 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。

有用的連結

]

相關貼文: