
La edición de imágenes se utiliza en varias aplicaciones para manipular imágenes para su posterior procesamiento. Hemos escrito una serie de blogs, es decir, recortar, rotar, borrar, etc., que son útiles para implementar funciones de edición de imágenes en sus aplicaciones. En este artículo, le mostraremos cómo aplicar los filtros mediano y wiener, que se usan comúnmente para eliminar el ruido y suavizar las imágenes. Entonces, veamos cómo aplicar archivadores medianos y wiener a una imagen mediante programación en C#.
- API de C# para aplicar filtros de imagen mediana y Wiener
- Aplicar filtro mediano a una imagen en C#
- Aplicar el filtro Wiener de Gauss a una imagen
- Motion Wiener Filtrado de una imagen
API de C# para aplicar filtros de imagen Mediana y Wiener - Descarga gratuita
Aspose.Imaging for .NET es una API increíble para implementar funciones de edición de imágenes en aplicaciones .NET. Usaremos esta API para aplicar filtros medianos y wiener en las imágenes. Puede descargar la API o instalarla desde NuGet.
PM> Install-Package Aspose.Imaging
Aplicar filtro mediano a una imagen en C#
El filtro mediano es una técnica de filtrado digital no lineal, que se utiliza para reducir el ruido de las imágenes. Los siguientes son los pasos para aplicar un filtro mediano a una imagen en C#.
- Primero, cargue la imagen usando el método Image.Load().
- Luego, convierta la imagen al tipo RasterImage.
- Cree una instancia de la clase MedianFilterOptions e inicialícela con el tamaño del rectángulo.
- Aplique el filtro mediano usando el método RasterImage.Filter(Rectangle, MedianFilterOptions).
- Finalmente, guarde la imagen resultante usando el método RasterImage.Save().
El siguiente ejemplo de código muestra cómo aplicar un filtro mediano a una imagen en C#.
// Carga la imagen ruidosa
using (Image image = Image.Load("jack.jpg"))
{
// Castear la imagen en RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Cree una instancia de la clase MedianFilterOptions y establezca el tamaño
MedianFilterOptions options = new MedianFilterOptions(4);
// Aplicar filtro y guardar imagen
rasterImage.Filter(image.Bounds, options);
image.Save("jack_median.jpg");
}
A continuación se muestra la imagen antes y después de aplicar el filtro mediano.

Aplique el filtro Gauss Wiener a una imagen en C#
Otro método comúnmente utilizado para minimizar el ruido aditivo y la borrosidad en las imágenes es gauss wiener. Los siguientes son los pasos para aplicar el filtro Wiener de Gauss a una imagen en C#.
- Primero, cargue la imagen usando el método Image.Load().
- Luego, convierta la imagen al tipo RasterImage.
- Cree una instancia de la clase GaussWienerFilterOptions e inicialícela con un tamaño de radio y un valor suave.
- (Opcional) Para obtener una imagen en escala de grises, establezca la propiedad GaussWienerFilterOptions.Grayscale en verdadero.
- Aplique el filtro Wiener de Gauss usando el método RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
- Finalmente, guarde la imagen resultante usando el método RasterImage.Save().
El siguiente ejemplo de código muestra cómo aplicar un filtro Wiener de Gauss a una imagen en C#.
// Carga la imagen ruidosa
using (Image image = Image.Load("jack.jpg"))
{
// Castear la imagen en RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Cree una instancia de la clase GaussWienerFilterOptions y establezca el tamaño del radio y el valor suave
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.Grayscale = true;
// Aplique el filtro MedianFilterOptions al objeto RasterImage y guarde la imagen resultante
rasterImage.Filter(image.Bounds, options);
image.Save("jack_guass.jpg");
}
A continuación se muestra la imagen antes y después de aplicar el filtro gauss wiener con la opción de escala de grises.

La siguiente es la imagen antes y después de aplicar el filtro Wiener de Gauss sin escala de grises.

Aplique el filtro Motion Wiener a una imagen en C#
El filtro Wiener de movimiento se utiliza para eliminar la borrosidad de una imagen que se produce debido a los objetos en movimiento. Los siguientes son los pasos para aplicar el filtro Wiener de movimiento a una imagen en C#.
- Primero, cargue la imagen usando el método Image.Load().
- Luego, convierta la imagen al tipo RasterImage.
- Cree una instancia de la clase MotionWienerFilterOptions e inicialícela con longitud, valor suave y ángulo.
- Aplique el filtro Wiener de movimiento usando el método RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
- Finalmente, guarde la imagen resultante usando el método RasterImage.Save().
El siguiente ejemplo de código muestra cómo aplicar un filtro Wiener de movimiento a una imagen en C#.
// Carga la imagen ruidosa
using (Image image = Image.Load("jack.jpg"))
{
// Castear la imagen en RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Cree una instancia de la clase MotionWienerFilterOptions y establezca la longitud, el valor suave y el ángulo
MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
options.Grayscale = true;
// Aplique el filtro MedianFilterOptions al objeto RasterImage y guarde la imagen resultante
rasterImage.Filter(image.Bounds, options);
image.Save("jack_MotionWiener.jpg");
}

API de filtrado de imágenes Wiener y Median de C#: obtenga una licencia gratuita
Puede obtener una licencia temporal gratuita y aplicar filtros medianos y wiener a las imágenes sin limitaciones de evaluación.
Conclusión
En este artículo, aprendió a aplicar filtros medianos y wiener a imágenes en C#. Además, hemos cubierto cómo reducir el ruido de los objetos en movimiento en una imagen. Puede usar fácilmente estas características en su aplicación C# para integrar capacidades de edición de imágenes.
Lee mas
Puede explorar más sobre la API de procesamiento de imágenes de .NET utilizando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.