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
- Aplicar filtro mediano a uma imagem em c#
- Aplicar filtro Gauss Wiener a uma imagem
- Filtragem de Motion Wiener de uma imagem
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#.
- Primeiro, carregue a imagem usando o método Image.Load().
- Em seguida, converta a imagem para o tipo RasterImage.
- Crie uma instância da classe MedianFilterOptions e inicialize-a com o tamanho do retângulo.
- Aplique o filtro mediano usando o método RasterImage.Filter(Rectangle, MedianFilterOptions).
- Finalmente, salve a imagem resultante usando o método RasterImage.Save().
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 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#.
- Primeiro, carregue a imagem usando o método Image.Load().
- Em seguida, converta a imagem para o tipo RasterImage.
- Crie uma instância da classe GaussWienerFilterOptions e inicialize-a com tamanho de raio e valor suave.
- (Opcional) Para obter uma imagem em tons de cinza, defina a propriedade GaussWienerFilterOptions.Grayscale como true.
- Aplique o filtro gauss wiener usando o método RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
- Finalmente, salve a imagem resultante usando o método RasterImage.Save().
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.
A seguir, a imagem antes e depois de aplicar o filtro gauss wiener sem escala de cinza.
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#.
- Primeiro, carregue a imagem usando o método Image.Load().
- Em seguida, converta a imagem para o tipo RasterImage.
- Crie uma instância da classe MotionWienerFilterOptions e inicialize-a com comprimento, valor suave e ângulo.
- Aplique o filtro de wiener de movimento usando o método RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
- Finalmente, salve a imagem resultante usando o método RasterImage.Save().
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");
}
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.