이미지를 회색조 C#으로 변환

다양한 경우에 이미지 처리 등과 같이 컬러 이미지를 회색조 또는 흑백으로 변환해야 할 수 있습니다. 따라서 이 기사에서는 C#을 사용하여 이미지를 회색조로 변환하는 방법을 배웁니다. 또한 이 기사에서는 이미지의 회색조 및 이진화를 명시적으로 다룹니다.

이미지를 회색조로 변환하는 C# API

RGB 컬러 이미지를 회색조로 변환하기 위해 Aspose.Imaging for .NET를 사용합니다. 널리 사용되는 이미지 형식을 원활하게 조작할 수 있는 강력한 이미지 처리 API입니다. API를 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

PM> Install-Package Aspose.Imaging

C#에서 이미지를 회색조로 변환

다음은 C#에서 컬러 이미지를 회색조로 변환하는 단계입니다.

다음 코드 샘플은 C#을 사용하여 이미지를 회색조로 변환하는 방법을 보여줍니다.

// Image 클래스의 인스턴스에서 이미지 로드
using (Image image = Image.Load("aspose.jpg"))
{
    // 이미지를 RasterCachedImage로 캐스트하고 이미지가 캐시되었는지 확인
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // 아직 캐시되지 않은 경우 캐시 이미지
        rasterCachedImage.CacheData();
    }

    // 이미지를 회색조 표현으로 변환
    rasterCachedImage.Grayscale();
    
    // 이미지 저장
    rasterCachedImage.Save("grayscaled.jpg");
}

입력 이미지

다음은 이 기사에 사용된 샘플 이미지입니다.

이미지를 회색조 C#으로

그레이스케일로 변환

다음은 회색조로 변환한 후의 이미지입니다.

회색조 이미지

이진화를 사용하여 이미지를 흑백으로 변환

이진화에서 이미지의 각 픽셀은 두 개의 가능한 값만 가질 수 있습니다. 0 또는 1. 여기서 0은 색상이 없음을 나타내고 1은 색상이 있음을 나타냅니다. Aspose.Imaging은 고정된 이진화와 Otsu 임계값을 사용한 이진화라는 두 가지 이진화 방법을 지원합니다.

C#에서 고정 임계값을 사용한 이진화

다음은 고정 임계값을 사용하여 이미지에 대해 이진화를 수행하는 단계입니다.

다음 C# 코드는 이미지에 이진화를 적용하고 흑백으로 변환합니다.

// Image 클래스의 인스턴스에서 이미지 로드
using (Image image = Image.Load("aspose.jpg"))
{
    // 이미지를 RasterCachedImage로 캐스트하고 이미지가 캐시되었는지 확인
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // 아직 캐시되지 않은 경우 캐시 이미지
        rasterCachedImage.CacheData();
    }

    // 이미지를 이진 표현으로 변환
    rasterCachedImage.BinarizeFixed(100);
    
    // 이미지 저장
    rasterCachedImage.Save("black and white.jpg");
}

C#에서 Otsu 임계값을 사용한 이진화

다음은 Otsu 임계값을 사용하여 이미지를 흑백으로 변환하는 단계입니다.

다음 코드 샘플은 C#을 사용하여 Otsu 임계값을 사용하여 이미지를 흑백으로 변환하는 방법을 보여줍니다.

// Image 클래스의 인스턴스에서 이미지 로드
using (Image image = Image.Load("aspose.jpg"))
{
    // 이미지를 RasterCachedImage로 캐스트하고 이미지가 캐시되었는지 확인
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // 아직 캐시되지 않은 경우 이미지 캐시
        rasterCachedImage.CacheData();
    }

    // 이미지를 이진 표현으로 변환
    rasterCachedImage.BinarizeOtsu();
    
    // 이미지 저장
    rasterCachedImage.Save("black and white.jpg");
}

무료 API 라이선스 받기

평가 제한 없이 API를 사용하기 위해 무료 임시 라이선스를 취득할 수 있습니다.

결론

이 문서에서는 C#을 사용하여 이미지를 회색조 및 흑백으로 변환하는 방법을 배웠습니다. 또한 고정 또는 Otsu 임계값이 있는 이미지에 이진화를 적용하는 방법을 살펴보았습니다. 또한 문서를 사용하여 C# 이미지 처리 API에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문을 공유할 수 있습니다.

또한보십시오