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#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

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

    후원하기


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