Aplicar Filtros Mediano e Wiener a Imagens em C#

A edição de imagem é usada em vários aplicativos para manipular imagens para processamento posterior. Escrevemos uma série de blogs, ou seja, cortando, rotando, desfocando, etc., que são úteis para você implementar recursos de edição de imagem em seus aplicativos. Neste artigo, mostraremos como aplicar filtros de mediana e wiener, que são comumente usados para reduzir o ruído e suavizar imagens. Então, vamos ver como aplicar arquivadores mediana e wiener a uma imagem programaticamente em C#.

API C# para aplicar filtros de imagem mediana e wiener - download gratuito

Aspose.Imaging for .NET é uma API incrível para implementar recursos de edição de imagem em aplicativos .NET. Usaremos essa API para aplicar filtros de mediana e wiener em imagens. Você pode baixar a API ou instalá-la do NuGet.

PM> Install-Package Aspose.Imaging

Aplicar filtro mediano a uma imagem em c#

O filtro mediano é uma técnica de filtragem digital não linear, que é utilizada para reduzir o ruído das imagens. A seguir estão as etapas para aplicar um filtro mediano a uma imagem em C#.

O exemplo de código a seguir mostra como aplicar um filtro mediano a uma imagem em C#.

// Carregar a imagem barulhenta 
using (Image image = Image.Load("jack.jpg"))
{
    // Castar a imagem em RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Crie uma instância da classe MedianFilterOptions e defina o tamanho
    MedianFilterOptions options = new MedianFilterOptions(4);
    
    // Aplicar filtro e salvar imagem
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_median.jpg");
}

Abaixo está a imagem antes e depois de aplicar o filtro de mediana.

Aplicar filtro mediano à imagem C#

Aplicar filtro Gauss Wiener a uma imagem em C

Outro método comumente usado para minimizar o ruído aditivo e o desfoque nas imagens é o gauss wiener. A seguir estão as etapas para aplicar o filtro gauss wiener a uma imagem em C#.

O exemplo de código a seguir mostra como aplicar um filtro gauss wiener a uma imagem em C#.

// Carregar a imagem barulhenta 
using (Image image = Image.Load("jack.jpg"))
{
    // Castar a imagem em RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Crie uma instância da classe GaussWienerFilterOptions e defina o tamanho do raio e o valor suave
    GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
    options.Grayscale = true;

    // Aplique o filtro MedianFilterOptions ao objeto RasterImage e salve a imagem resultante
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_guass.jpg");
}

Abaixo está a imagem antes e depois de aplicar o filtro gauss wiener com a opção de tons de cinza.

Aplicar filtro Gauss Weiner à escala de cinza da imagem

A seguir, a imagem antes e depois de aplicar o filtro gauss wiener sem escala de cinza.

Aplicar filtro de cores Gauss Weiner à imagem

Aplicar filtro Motion Wiener a uma imagem em C#

O filtro Motion wiener é usado para remover o desfoque de uma imagem que é produzida por causa dos objetos em movimento. A seguir estão as etapas para aplicar o filtro motion wiener a uma imagem em C#.

O exemplo de código a seguir mostra como aplicar um filtro de wiener de movimento a uma imagem em C#.

// Carregar a imagem barulhenta 
using (Image image = Image.Load("jack.jpg"))
{
    // Castar a imagem em RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Crie uma instância da classe MotionWienerFilterOptions e defina o comprimento, o valor suave e o ângulo
    MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
    options.Grayscale = true;

    // Aplique o filtro MedianFilterOptions ao objeto RasterImage e salve a imagem resultante
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_MotionWiener.jpg");
}
Aplique o filtro Motion Weiner à imagem em C #

API de filtragem de imagem C# Median e Wiener - Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita e aplicar filtros de mediana e wiener a imagens sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como aplicar filtros de mediana e wiener a imagens em C#. Além disso, abordamos como reduzir o ruído de objetos em movimento em uma imagem. Você pode usar facilmente esses recursos em seu aplicativo C# para integrar recursos de edição de imagem.

consulte Mais informação

Você pode explorar mais sobre a API de processamento de imagem .NET usando documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.

Veja também