devskim blog
Search
⛰️

OpenCV의 컬러영상

sections
Tags
C++
OpenCV
Created
Apr 25, 2023 05:55 PM
Last Updated
Jul 30, 2023 09:49 AM
 
 
 

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
      • notion image
        notion image
        notion image
         
    • 채널 결합 merge
  • 컬러 영상을 Y / CrCb로 밝기 정보와 색정보로 분할
notion image
notion image
notion image
  • 화이트 밸런스
    • 흰색을 흰색으로 보이게 만드는 기법으로 색 조화(color balance)와 색 온도(color temperature)가 있다
  • 컬러 영상의 히스토그램 평활화
    • YCrCb 영상은 밝기 성분 Y에 대해서만 히스토그램 평활화 수행
      • notion image
  • 컬러 영상의 색감 바꾸기
    • R, G, B 색상 채널의 커브를 변경하여 색감 변경
      • notion image
 
 

색상 영역 검출

  • 색상 범위 지정 기능을 이용한 컬러 필터
    • inRange 마스크 영상 생성
    • copyTo
    • notion image
  • 히스토그램 역투영 calcBackProject
    • 주어진 히스토그램 모델에 영상의 픽셀들이 얼마나 일치하는지를 검사하는 방법
    • 밝기 변화의 영향을 줄이기 위해 HSV 공간의 HS 성분, YCrCb 공간의 CrCb 성분만 사용
  • ROI에 의한 역투영
notion image
notion image
  • HSV 색상에 의한 역투영
notion image
notion image
 
 
 
 
 
 
 
PREV에지검출, 허프변환, 코너검출
NEXT영상의 화소, 연산, 필터링, 변환