ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Color Conversion
    컴공지식/컴퓨터비전 2024. 9. 20. 00:38

    이미지를 처리할 때, 다른 색상 공간으로 바꿔서 작업하는 게 종종 필요하다.

    RGB에서 그레이스케일로 변환하거나, HSV 같은 다른 색상 공간으로 바꾸는 것처럼 말이다.

    다음 함수를 이용하여 바꿀 수 있다.

     

    void cvtColor(Mat src, Mat dst, int code, int dstCn = 0)

     

    OpenCV에서 제공하는 색상 공간 변환 함수다.

    파라미터에 대해 설명하자면

    code는 변환하려는 색상 공간을 지정하는 코드다. 그레이스케일인지.. RGB인지..

    dstCn은 목적지 색상 공간에서 사용될 채널 수다. 0으로 설정하면, 원본 이미지와 변환할 목적지 색상 공간에 맞게 자동으로 결정된다.

    예를 들어, BGR을 그레이로 변환할 때는 1 채널이 필요하고, BGR을 HSV로 변환할 때는 3 채널이 필요하니.. 이를 자동으로 맞춰준다.

     

    이를 사용한 예시로는 다음과 같은게 있는데

    cvtColor(image, image_YUV, CV_BGR2YUV);

     

    이 함수는 첫 번째 인자로 원본 이미지(image)를 받고, 두 번째 인자로 변환된 이미지(image_YUV)를 저장한다.

    세 번째 인자인 CV_BGR2YUV는 변환 코드를 나타내는데, 여기서는 BGR에서 YUV로 변환하는 거다.

    YUV는 밝기(Y)와 색차(U, V) 정보를 분리해서 다루기 때문에, 영상 처리나 압축에 많이 쓰인다.

     

     

     

     

    '컴공지식 > 컴퓨터비전' 카테고리의 다른 글

    HSI 예제  (1) 2024.09.20
    Split/Merge  (0) 2024.09.20
    Color Processing  (0) 2024.09.20
    Color Models  (0) 2024.09.19
    기본 색  (0) 2024.09.19
Designed by Tistory.