Imagen a escala de grises

La conversión de imágenes en color a blanco y negro ha sido una técnica popular en fotografía y diseño durante décadas. Si bien el color puede agregar vitalidad, también puede distraer la atención de los elementos principales de una imagen. La conversión a blanco y negro le permite concentrarse en la composición, el contraste y la textura, resaltando los detalles más finos que podrían perderse en una escena colorida.

Esta conversión es especialmente útil en fotografía profesional, impresión y diversas aplicaciones de diseño donde la simplicidad y la claridad son clave.

API de conversión de imágenes

Puede convertir, editar o manipular imágenes BMP, GIF, JPEG, PSD, TIFF, WEBP, PNG y otros formatos de archivo compatibles utilizando Aspose.Imaging Cloud. Las organizaciones con enormes bases de datos de imágenes prefieren mantener las imágenes en escala de grises por cuestiones de tamaño. Por ejemplo, algunas agencias de aplicación de la ley considerarían que los rasgos faciales y la geometría son tan importantes o eficientes en comparación con el color. Echemos un vistazo a las API disponibles para la conversión de imágenes en color real a escala de grises con la API de Aspose.Imaging Cloud.

| API | Descripción |

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

| GET /imaging/{name}/grayscale | Escala de grises de una imagen existente |

| POST /imaging/grayscale | Escala de grises de una imagen. Los datos de la imagen se pasan como contenido multipart/form-data indexado a cero o como flujo de cuerpo sin procesar |

El siguiente fragmento de código C# .NET le permite convertir imágenes a blanco y negro:

// Obtenga AppKey y AppSID desde https://dashboard.aspose.cloud/
// Instalar el paquete Nuget Aspose.Imaging-Cloud
// Para obtener ejemplos completos y archivos de datos, visite 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";

// Subir imagen local al almacenamiento en la nube
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))
{
    // Subir imagen actualizada al almacenamiento en la nube
    string outPath = "Grayscale_out." + SaveImageFormat;
    var uploadFileRequest = new UploadFileRequest(outPath, updatedImage);
    FilesUploadResult result = this.ImagingApi.UploadFile(uploadFileRequest);
}

Este fragmento de código carga el archivo de entrada desde el almacenamiento local al almacenamiento en la nube y luego convierte la imagen RGB en una imagen en escala de grises. La API guarda una imagen en escala de grises de salida en el almacenamiento en la nube que se parece a la siguiente captura de pantalla:

Imagen de entrada

Imagen de salida

Imagen en escala de grises

Veamos otro escenario en el que el archivo de origen se pasa en la solicitud y la respuesta contiene una imagen en escala de grises convertida que se guarda en el almacenamiento local. Este enfoque no requiere cargar ni descargar la imagen desde el almacenamiento en la nube. A continuación, se muestra el fragmento de código C# basado en este flujo de trabajo:

// Obtenga AppKey y AppSID desde https://dashboard.aspose.cloud/
// Instalar el paquete Nuget Aspose.Imaging-Cloud
// Para obtener ejemplos completos y archivos de datos, visite 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);
    }
}

¿Tiene dudas sobre cómo trabajar con la misma función en otros lenguajes de programación? No se preocupe, los SDK de Aspose.Imaging Cloud están disponibles para todos los lenguajes populares, por lo que puede llamar cómodamente a la API desde sus plataformas favoritas. Además, también hemos trasladado ejemplos de conversión de imágenes a escala de grises a los lenguajes compatibles, incluidos Python, Java, PHP, Node.js y Ruby.

La API de Aspose.Imaging Cloud puede llevar sus aplicaciones un paso más allá y llevarlas al siguiente nivel. Esta versión también incluye muchas otras correcciones y mantenimientos, incluidas algunas correcciones de excepciones y mejoras para la exportación de imágenes de varias páginas. Puede consultar una descripción general en Notas de la versión para obtener más detalles. Puede Registrarse de forma gratuita y comenzar a aprender a usar la API hoy mismo.

Enlaces útiles

]

Publicación relacionada: