Изображение в оттенках серого

Конвертация цветных изображений в черно-белые была популярной техникой в фотографии и дизайне на протяжении десятилетий. Хотя цвет может добавить яркости, он также может отвлекать от основных элементов изображения. Конвертация в черно-белые изображения позволяет вам сосредоточиться на композиции, контрасте и текстуре, выявляя более мелкие детали, которые могут потеряться в красочной сцене.

Такое преобразование особенно полезно в профессиональной фотографии, печати и различных дизайнерских приложениях, где простота и ясность имеют решающее значение.

API преобразования изображений

Вы можете конвертировать, редактировать или манипулировать изображениями BMP, GIF, JPEG, PSD, TIFF, WEBP, PNG и другими поддерживаемыми форматами файлов с помощью Aspose.Imaging Cloud. Организации с огромными базами данных изображений предпочитают сохранять изображения в оттенках серого из соображений размера. Например, некоторые правоохранительные органы считают черты лица и геометрию такими же важными или эффективными по сравнению с цветом. Давайте рассмотрим доступные API для преобразования полноцветных изображений в оттенки серого с помощью API Aspose.Imaging Cloud.

| API | Описание |

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

| GET /imaging/{name}/grayscale | Преобразовать существующее изображение в оттенки серого |

| POST /imaging/grayscale | Изображение в оттенках серого. Данные изображения передаются как содержимое multipart/form-data с нулевым индексом или как необработанный поток body |

Следующий фрагмент кода C# .NET позволяет преобразовать изображение в черно-белое:

// Получите AppKey и AppSID с https://dashboard.aspose.cloud/
// Установить 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#, основанный на этом рабочем процессе:

// Получите AppKey и AppSID с https://dashboard.aspose.cloud/
// Установить 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 с ваших любимых платформ. Более того, мы также перенесли примеры преобразования изображений в оттенки серого на поддерживаемые языки, включая Python, Java, PHP, Node.js и Ruby.

API Aspose.Imaging Cloud может вывести ваши приложения на новый уровень. Многие другие исправления и обновления также являются частью этого выпуска, включая некоторые исправления исключений и улучшения для экспорта многостраничных изображений. Вы можете ознакомиться с обзором в Заметках о выпуске для получения более подробной информации. Вы можете Зарегистрироваться бесплатно и начать изучать API сегодня.

Полезные ссылки

]

Связанный пост: