3-3. 컬러 영상과 색 공간

컬러 영상

    shape = (height, width, 3) 크기를 갖는 3차원 numpy.ndarry로 색상 채널은 BGR 순서로 이루어져 있다. 읽어는 파일 확장자에 따라 차원의 수는 늘어날 수도 있음 (ex. png는 투명도인 alpha 채널을 포함해 4차원으로 이루어져 있음)

    색상 채널 분리: cv2.split(m, mv) -> dst

     m은 다채널(차원) 컬러 영상, mv는 출력 영상, dst는 출력 영상의 리스트

     읽어온 영상의 각 차원 별로 저장해서 분리할 수 있지만 최소 3라인을 1라인으로 줄일 수 있다.

    색상 채널 결합: cv2.merge(mv, dst) -> dst

     mv는 입력 영상 리스트 또는 튜플, dst는 출력 영상

    컬러 영상의 색 공간은 RGB(BGR) 외에 HSV, YCrCb, Grayscale, Lab 등이 있다. (디테일은 여기 참조!) 여기서 우리가 추가로 알아볼 색 공간은 HSV와 YCrCb이다.

    표에 추가된 모든 그림의 출처는 강의 자료이다.

  RGB HSV YCrCb
색 공간 설명 빛의 삼원색인 빨간색, 녹색, 파란색으로 구성
R: Red (빨강)
G: Green (초록)
B: Blue (파랑)

기존 색상에서 채도와 명도를 조절
H: Hue (색상)
S: Saturation (채도, 탁함의 정도)
V: Value (명도, 색의 밝기)

색상과 밝기 정보를 분리하여 부호화한 것으로 흑백 TV와 호환 가능
Y: Luma (밝기 정보)
Cr, Cb: Chroma (색차)

값 범위
(cv2.CV_8U 기준)
0 <= R <= 255
0 <= G <= 255
0 <= B <= 255
0 <= H <= 179
0 <= S <= 255
0 <= V <= 255
0 <= Y <= 255
0 <= Cr <= 255
0 <= Cb <= 255
색상 평면
기존 영상
채널 R H Y
추출 영상
채널 G S Cr
추출 영상
채널 B V Cb
추출 영상

    다른 색 공간으로 변환: cv2.cvtColor(src, code, dst, dstCn) -> dst

     src는 입력 영상, code는 색 변환 코드(여기 참조!), dstCn은 결과 영상의 채널 수로 0이면 자동 결정. dst는 출력 영상


3-7. 특정 색상 영역 추출

특정 색상 영역 추출

    컬러 영상에서 특정 색상을 추출한다는 것은 각 채널 값의 최대 범위 안에서 일정 범위 안에 들어오는 부분만 검출하는 것을 뜻한다.

    특정 범위 내 행렬 원소 검출: cv2.inRange(src, lowerb, upperb, dst) -> dst

     src는 입력 행렬(영상), lowerb는 하한 값 행렬 또는 스칼라, upperb는 상한 값 행렬 또는 스칼라, dst는 입력 영상과 동일한 크기의 마스크 영상 (numpy.uint8)

색 공간에서 특정 색 추출 원리 (출처: FastCampus)

    강의 노트에서는 트랙바를 사용하여 HSV 영상에서 특정 색상을 추출하는 프로그램을 알려주셨다. RGB에 적용해보려고 했는데 잘 안됐다. 나중에 더 디버깅을 해봐야할거 같다.


인증 타임

오늘은 챕터 3에서 좀 더 연관되어 보이는 챕터를 먼저 가져와서 같이 들었다. 이 편이 나중에 자료를 다시 볼 때 유용할 거 같다고 생각됬기 때문이다. Fastcampus의 강의 영상의 경우 굳이 순서대로 듣지 않아도 되기 때문에 가능한 점이였다. 색 공간 변환의 경우 수학적인 내용을 첫번째 참조 링크에서 볼 수 있는데 전에 배웠던 내용임에도 불구하고 기억이 나지 않는다. 시간이 날 때 학교 수업 노트를 돌아보고 수학적인 내용도 추가해야겠다. 

3-3. 공부 인증 사진
3-7. 공부 인증 사진


#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #OpenCV를 활용한 컴퓨터비전과 딥러닝 올인원 패키지 Online

 

패스트캠퍼스(FastCampus) 강의 둘러보러 가기 

   

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.


 

+ Recent posts