C# OpenCV 강좌 : 제 6강 - 색상 공간 변환

C# OpenCV4 Convert Color

C# OpenCV 강좌 : 제 6강 - 색상 공간 변환
[ C#-OpenCvSharp4 ] - 윤대희

색상 공간 변환


1

색상 공간 변환은 본래의 색상 공간에서 다른 색상 공간으로 변환할 때 사용합니다.

색상 공간 변환 함수는 데이터 타입을 같게 유지하고 채널을 변환합니다.



Main Code


using System;
using OpenCvSharp;

namespace Project
{
    class Program
    {
        static void Main(string[] args)
        {
            Mat src = Cv2.ImRead("desert.jpg");
            Mat dst = new Mat(src.Size(), MatType.CV_8UC1);

            Cv2.CvtColor(src, dst, ColorConversionCodes.BGR2GRAY);

            Cv2.ImShow("dst", dst);
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
        }
    }
}



Detailed Code


Mat src = Cv2.ImRead("desert.jpg");
Mat dst = new Mat(src.Size(), MatType.CV_8UC1);


ImRead 함수를 사용해 이미지를 src에 할당합니다.

dst는 변환된 이미지를 저장할 공간입니다. 채널의 값을 1로 사용합니다.

  • Tip : 3채널 이미지에서 1채널 이미지로 변환할 예정이므로, 단일 채널을 사용합니다.



Cv2.CvtColor(src, dst, ColorConversionCodes.BGR2GRAY);

색상 공간 변환 함수(Cv2.CvtColor)를 활용해 이미지를 변환합니다.

Cv2.CvtColor(원본 이미지, 결과 이미지, 색상 변환 코드)로 색상 공간을 변환합니다.

색상 변환 코드(code)를 사용해 BGR 색상 공간을 RGBA 색상 공간으로 변환하거나 그레이스케일, HSV, CIE Luv 등으로 변환이 가능합니다.

단일 채널부터 3채널, 4채널의 색상 공간으로도 변환이 가능합니다.

단, 그레이스케일(GRAY) 변환은 다중 채널에서 단일 채너로 변환하기 때문에 dst의 채널 수는 1이어야 합니다.



Result


2


도움이 되셨다면 광고 클릭 부탁드립니다.


Book Image

책이 출간되었습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C# OpenCvSharp4
  • Python OpenCV4
  • Using Tesseract
  • Using TensorFlow
  • Using Regular Expression
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]


    ⤧  Previous post C# OpenCV 강좌 : 제 5강 - VIDEO 출력 ⤧  Next post C# OpenCV 강좌 : 제 7강 - 대칭
    C#-OpenCvSharp4 Category