OpenCV의 컬러 영상
- CV_8UC3 타입으로 색상을 256단계로 표현
- BGR 순서
- 그레이스케일로 변환
cvtColor
장점
데이터 저장 용량 감소, 연산 처리 속도 향상
단점
색상 정보 손실
색상(color)
- 사람의 눈에 있는 원추 세포가 빛의 특정 파장에 따라 다르게 반응하여 인지하는 것
- 모든 색상은 세가지 원색의 조합으로 표현된다
- 색 공간 변환
- RGB 색 공간을 목적에 따라 HSV, YCrCb, Lab 등의 색공간으로 변환하여 처리
RGB
- 빛의 삼원색인 빨간색, 녹색, 파란색을 혼합하여 색상을 표현
- 카메라의 Bayer 필터, TV & 모니터, 비트맵
HSV
- 색상(Hue), 채도(Saturation), 명도(Value)를 이용하여 색을 표현하는 방법
- 일반적인 8비트 영상의 경우 Hue/2를 대신 사용하여 색 범위 표현
YCrCb
- 휘도(Luma)와 색차(chroma) 성분을 이용하여 색을 표현하는 방법
- 일반적인 8비트 영상의 경우 Y, Cr, Cb 0~255 사이로 표현
- 채널 관련 메소드
- 채널 분리
split
- 채널 결합
merge
- 채널 분리
- 컬러 영상을 Y / CrCb로 밝기 정보와 색정보로 분할
- 화이트 밸런스
- 흰색을 흰색으로 보이게 만드는 기법으로 색 조화(color balance)와 색 온도(color temperature)가 있다
- 컬러 영상의 히스토그램 평활화
- YCrCb 영상은 밝기 성분 Y에 대해서만 히스토그램 평활화 수행
- 컬러 영상의 색감 바꾸기
- R, G, B 색상 채널의 커브를 변경하여 색감 변경
색상 영역 검출
- 색상 범위 지정 기능을 이용한 컬러 필터
inRange
마스크 영상 생성
copyTo
- 히스토그램 역투영
calcBackProject
- 주어진 히스토그램 모델에 영상의 픽셀들이 얼마나 일치하는지를 검사하는 방법
- 밝기 변화의 영향을 줄이기 위해 HSV 공간의 HS 성분, YCrCb 공간의 CrCb 성분만 사용
- ROI에 의한 역투영
- HSV 색상에 의한 역투영