C#의 이미지에 중앙값 및 위너 필터 적용

이미지 편집은 추가 처리를 위해 이미지를 조작하기 위해 다양한 응용 프로그램에서 사용됩니다. 우리는 자르기, 회전, 흐리게 처리 등의 일련의 블로그를 작성했으며 이는 애플리케이션에서 이미지 편집 기능을 구현하는 데 유용합니다. 이 기사에서는 이미지의 노이즈를 제거하고 부드럽게 하는 데 일반적으로 사용되는 중앙값 및 위너 필터를 적용하는 방법을 보여줍니다. 따라서 C#에서 프로그래밍 방식으로 이미지에 중앙값 및 위너 파일러를 적용하는 방법을 살펴보겠습니다.

중앙값 및 Wiener 이미지 필터를 적용하는 C# API - 무료 다운로드

Aspose.Imaging for .NET는 .NET 애플리케이션에서 이미지 편집 기능을 구현하는 놀라운 API입니다. 이 API를 사용하여 이미지에 중앙값 및 위너 필터를 적용합니다. API를 다운로드하거나 NuGet에서 설치할 수 있습니다.

PM> Install-Package Aspose.Imaging

C#의 이미지에 중앙값 필터 적용

중앙값 필터는 이미지의 노이즈를 줄이는 데 사용되는 비선형 디지털 필터링 기술입니다. 다음은 C#에서 이미지에 중앙값 필터를 적용하는 단계입니다.

다음 코드 샘플은 C#의 이미지에 중앙값 필터를 적용하는 방법을 보여줍니다.

// 노이즈 이미지 로드 
using (Image image = Image.Load("jack.jpg"))
{
    // 이미지를 RasterImage로 캐스트
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // MedianFilterOptions 클래스의 인스턴스를 만들고 크기를 설정합니다.
    MedianFilterOptions options = new MedianFilterOptions(4);
    
    // 필터 적용 및 이미지 저장
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_median.jpg");
}

아래는 중앙값 필터를 적용하기 전과 후의 이미지입니다.

이미지 C#에 중앙값 필터 적용

C#의 이미지에 가우스 위너 필터 적용

이미지에서 부가적인 노이즈와 흐림을 최소화하기 위해 일반적으로 사용되는 또 다른 방법은 가우스 위너입니다. 다음은 C#의 이미지에 가우스 위너 필터를 적용하는 단계입니다.

다음 코드 샘플은 C#의 이미지에 가우스 위너 필터를 적용하는 방법을 보여줍니다.

// 노이즈 이미지 로드 
using (Image image = Image.Load("jack.jpg"))
{
    // 이미지를 RasterImage로 캐스트
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // GaussWienerFilterOptions 클래스의 인스턴스를 만들고 반지름 크기와 부드러운 값을 설정합니다.
    GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
    options.Grayscale = true;

    // RasterImage 개체에 MedianFilterOptions 필터를 적용하고 결과 이미지를 저장합니다.
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_guass.jpg");
}

아래는 그레이스케일 옵션으로 가우스 위너 필터를 적용하기 전과 후의 이미지입니다.

이미지 그레이스케일링에 가우스 와이너 필터 적용하기

다음은 그레이스케일 없이 가우스 위너 필터를 적용하기 전과 후의 이미지입니다.

영상에 가우스 와이너 컬러 필터 적용하기

C#의 이미지에 모션 위너 필터 적용

모션 위너 필터는 움직이는 물체로 인해 발생하는 이미지의 흐릿함을 제거하는 데 사용됩니다. 다음은 C#에서 이미지에 모션 위너 필터를 적용하는 단계입니다.

다음 코드 샘플은 C#의 이미지에 모션 위너 필터를 적용하는 방법을 보여줍니다.

// 노이즈가 있는 이미지 로드 
using (Image image = Image.Load("jack.jpg"))
{
    // 이미지를 RasterImage로 캐스트
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // MotionWienerFilterOptions 클래스의 인스턴스를 만들고 길이, 부드러운 값 및 각도 설정
    MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
    options.Grayscale = true;

    // RasterImage 개체에 MedianFilterOptions 필터를 적용하고 결과 이미지를 저장합니다.
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_MotionWiener.jpg");
}
C#의 이미지에 Motion Weiner 필터 적용

C# Median 및 Wiener 이미지 필터링 API - 무료 라이선스 받기

임시 무료 라이선스 받기 평가 제한 없이 이미지에 중앙값 및 위너 필터를 적용할 수 있습니다.

결론

이 문서에서는 C#의 이미지에 중앙값 및 위너 필터를 적용하는 방법을 배웠습니다. 또한 이미지에서 움직이는 물체의 노이즈를 줄이는 방법을 다루었습니다. C# 애플리케이션에서 이러한 기능을 쉽게 사용하여 이미지 편집 기능을 통합할 수 있습니다.

더 읽기

문서를 사용하여 .NET 이미지 처리 API에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문을 공유할 수 있습니다.

또한보십시오