En varios casos, es posible que deba convertir las imágenes en color a escala de grises o en blanco y negro, como en el procesamiento de imágenes, etc. Por lo tanto, en este artículo, aprenderá cómo convertir una imagen a escala de grises usando C#. Además, el artículo cubrirá la escala de grises y la binarización de las imágenes explícitamente.
- API de C# para convertir imágenes a escala de grises
- Convertir imágenes a escala de grises en C#
- Convierta imágenes a blanco y negro con binarización
- Obtenga una licencia de API gratuita
API de C# para convertir imágenes a escala de grises
Para convertir imágenes en color RGB a escala de grises, usaremos Aspose.Imaging for .NET. Es una potente API de procesamiento de imágenes que le permite manipular formatos de imagen populares sin problemas. Puede descargar la API o instalarla mediante NuGet.
PM> Install-Package Aspose.Imaging
Convertir una imagen a escala de grises en C#
Los siguientes son los pasos para convertir una imagen en color a escala de grises en C#.
- Primero, cargue la imagen usando la clase Image.
- Transmita la imagen a un objeto RasterCachedImage.
- Almacene en caché la imagen usando el método RasterCachedImage.CacheData().
- Convierta la imagen a escala de grises utilizando el método RasterCachedImage.Grayscale().
- Finalmente, guarde la imagen usando el método RasterCachedImage.Save(String).
El siguiente ejemplo de código muestra cómo convertir una imagen a escala de grises usando C#.
// Cargue una imagen en una instancia de la clase Image
using (Image image = Image.Load("aspose.jpg"))
{
// Transmita la imagen a RasterCachedImage y verifique si la imagen está almacenada en caché
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Caché de imagen si aún no está en caché
rasterCachedImage.CacheData();
}
// Transformar la imagen a su representación en escala de grises
rasterCachedImage.Grayscale();
// Guarda la imagen
rasterCachedImage.Save("grayscaled.jpg");
}
Imagen de entrada
La siguiente es una imagen de muestra utilizada en este artículo.
Convertido a escala de grises
La siguiente es la imagen después de la conversión a escala de grises.
Convertir imagen a blanco y negro con binarización
En la binarización, cada píxel de una imagen puede tener solo dos valores posibles; 0 o 1. Aquí, 0 denota la ausencia y 1 denota la presencia del color. Aspose.Imaging admite dos métodos de binarización, es decir, binarización con umbral fijo y binarización con umbral Otsu.
Binarización con umbral fijo en C#
Los siguientes son los pasos para realizar la binarización en una imagen utilizando un umbral fijo.
- Primero, cargue la imagen usando la clase Image.
- Transmita la imagen a un objeto RasterCachedImage.
- Almacene en caché la imagen usando el método RasterCachedImage.CacheData().
- Convierta la imagen a blanco y negro usando el método RasterCachedImage.BinarizeFixed().
- Finalmente, guarde la imagen usando el método RasterCachedImage.Save(String).
El siguiente código C# aplica binarización a una imagen y la convierte a blanco y negro.
// Cargue una imagen en una instancia de la clase Image
using (Image image = Image.Load("aspose.jpg"))
{
// Transmita la imagen a RasterCachedImage y verifique si la imagen está almacenada en caché
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Caché de imagen si aún no está en caché
rasterCachedImage.CacheData();
}
// Transformar imagen a su representación binaria
rasterCachedImage.BinarizeFixed(100);
// Guarda la imagen
rasterCachedImage.Save("black and white.jpg");
}
Binarización con Otsu Threshold en C#
Los siguientes son los pasos para convertir una imagen a blanco y negro con el umbral Otsu.
- Primero, cargue la imagen usando la clase Image.
- Transmita la imagen a un objeto RasterCachedImage.
- Almacene en caché la imagen usando el método RasterCachedImage.CacheData().
- Convierta la imagen a blanco y negro usando el método RasterCachedImage.BinarizeOtsu().
- Finalmente, guarde la imagen usando el método RasterCachedImage.Save(String).
El siguiente ejemplo de código muestra cómo convertir una imagen a blanco y negro con el umbral de Otsu usando C#.
// Cargue una imagen en una instancia de la clase Image
using (Image image = Image.Load("aspose.jpg"))
{
// Transmita la imagen a RasterCachedImage y verifique si la imagen está almacenada en caché
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// Caché de imagen si aún no está en caché
rasterCachedImage.CacheData();
}
// Transformar imagen a su representación binaria
rasterCachedImage.BinarizeOtsu();
// Guarda la imagen
rasterCachedImage.Save("black and white.jpg");
}
Obtenga una licencia de API gratuita
Puede obtener una licencia temporal gratuita para utilizar la API sin limitaciones de evaluación.
Conclusión
En este artículo, aprendió cómo convertir una imagen a escala de grises y blanco y negro usando C#. Además, has visto cómo aplicar la binarización a las imágenes con umbral fijo u Otsu. Además, puede explorar más sobre la API de procesamiento de imágenes de C# usando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.