图像转灰度

几十年来,将彩色图像转换为黑白图像一直是摄影和设计领域的流行技术。虽然颜色可以增加活力,但也会分散图像的核心元素。黑白转换可让您专注于构图、对比度和纹理,从而呈现出在色彩缤纷的场景中可能丢失的更精细的细节。

这种转换在专业摄影、印刷和各种设计应用中特别有用,因为简单和清晰是关键。

图片转换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 SDKs 适用于所有流行语言,因此您可以方便地从您喜欢的平台调用 API。此外,我们还将图像到灰度转换示例移植到受支持的语言,包括 PythonJavaPHPNode.jsRuby

Aspose.Imaging Cloud API 可将您的应用程序提升到一个新的水平。此版本还包含许多其他修复和维护;包括一些异常修复和多页图像导出改进。您可以在 版本说明 中查看概述以了解更多详细信息。您可以免费 注册 并立即开始学习 API。

有用的链接

-API 参考

-免费支持论坛

-程序员指南

]

相关文章: