Зображення в градації сірого

Перетворення кольорових зображень на чорно-білі десятиліттями було популярною технікою у фотографії та дизайні. Хоча колір може додати яскравості, він також може відвернути увагу від основних елементів зображення. Чорно-біле перетворення дає змогу зосередитися на композиції, контрасті та текстурі, виявляючи дрібніші деталі, які можуть бути втрачені в барвистій сцені.

Це перетворення особливо корисне для професійної фотографії, друку та різноманітних дизайнерських програм, де простота та ясність є ключовими.

API перетворення зображень

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

| API | Опис |

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

| GET /imaging/{name}/grayscale | Відтінки сірого наявне зображення |

| POST /imaging/grayscale | Відтінки сірого зображення. Дані зображення передаються як вміст складених частин/даних форми з нульовим індексом або як необроблений потік |

Наступний фрагмент коду 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";

// Завантажте локальне зображення в Cloud Storage
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))
{
    // Завантажте оновлене зображення в Cloud Storage
    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 SDKs доступні для всіх популярних мов, тому ви можете зручно викликати API зі своїх улюблених платформ. Крім того, ми також перенесли зображення на приклади перетворення градацій сірого на підтримувані мови, зокрема Python, Java, PHP, Node.js і Ruby.

Aspose.Imaging Cloud API може вивести ваші програми на новий рівень. Багато інших виправлень і технічного обслуговування також є частиною цього випуску; включаючи деякі виправлення винятків і покращення для експорту багатосторінкових зображень. Ви можете ознайомитися з оглядом на сторінці Примітки до випуску, щоб дізнатися більше. Ви можете зареєструватися безкоштовно та почати вивчати API вже сьогодні.

Корисні посилання

]

Схожий пост: