색 공간과 이미지

윤수환·2025년 5월 31일

인공지능

목록 보기
9/10

7장 색 공간의 이해

7.1 RGB 색 공간

RGB는 Red(빨강), Green(초록), Blue(파랑)의 약자

  • 컴퓨터는 이미지를 빨강, 초록, 파랑의 빛의 조합으로 표현
  • 예를 들어, 흰색은 R, G, B가 모두 255 (최댓값)일 때 나옴
  • 흑백 이미지는 RGB를 하나로 합쳐서 밝기만 표현

🧠 기억 포인트:
이미지는 숫자로 구성된 격자이며, 색상은 RGB 값의 조합

7.2 HSV 색 공간, CIE 색 공간

📌 HSV 색 공간
HSV는 Hue(색상), Saturation(채도), Value(명도) 로 구성된 색 표현 방법

색상(Hue): 색의 종류 (0~179)
채도(Saturation): 색의 선명함 (0은 회색, 255는 선명)
명도(Value): 밝기 (0은 어두움, 255는 밝음)

💡 왜 사용할까?
HSV는 사람이 인식하는 방식과 비슷해서 색상 추출, 필터링 등에 편리함

📌 CIE 색 공간
CIE 색 공간은 사람이 느끼는 색을 과학적으로 표현한 국제 표준 색 공간. 색의 물리적 특성과 인간의 시각을 기반으로 만들어짐

주로 색 정확도가 중요한 산업 (인쇄, 의료 등)에서 사용

BGR → HSV 색 공간 변환

7.3 동영상 처리

동영상은 많은 이미지(프레임)가 빠르게 연속해서 보여지는 것
각 프레임을 순차적으로 처리하여 사람, 물체, 움직임을 인식
프레임은 보통 1초에 30장 (FPS: Frames Per Second) 정도

7.4 동영상 정보 획득

OpenCV 같은 라이브러리를 사용하면 동영상 파일의 정보를 얻을 수 있음

프레임 수 (cv2.CAP_PROP_FRAME_COUNT)
프레임 속도 (FPS)
해상도 (가로x세로)
현재 프레임 위치

7.5 동영상 캡쳐 및 저장

웹캠 영상이나 동영상 파일을 읽어서 저장

  1. cv2.VideoCapture()로 입력 장치 열기
  2. 프레임을 하나씩 읽고 (cap.read())
  3. cv2.VideoWriter()로 저장

7.6 저장된 동영상 플레이하기

OpenCV로 동영상 파일을 프레임 단위로 읽어 재생

8장 이미지 조절 및 향상

8.1 이미지의 밝기 조절

이미지 밝기를 조절한다는 것은 사진을 더 밝거나 어둡게 만든다는 뜻
밝기 조절

밝기 트랙바

1) 포화현상이란? 포화현상이 일어나는 경우

포화현상(Saturation):

  • 이미지를 너무 밝게 하거나 너무 어둡게 해서 최댓값(255)이나 최솟값(0)으로 색이 꽉 차버리는 현상입니다.
  • 너무 밝게 하면 → 흰색처럼 보이는 영역이 많아지고, 원래 정보(색)가 사라집니다.
  • 너무 어둡게 하면 → 까맣게 변하면서 정보가 날아갑니다.

    2) 포화현상 해결

    1. OpenCV의 cv2.add() 함수는 자동으로 포화 현상을 막아줍니다.
      • 넘치는 값은 255로 고정
      • 부족한 값은 0으로 고정
    2. np.clip()을 써서 직접 조절
      bright_img = np.clip(img + 100, 0, 255).astype(np.uint8)

8.2 이미지의 명암대비 조절

명암 대비(Contrast):
밝은 부분은 더 밝게, 어두운 부분은 더 어둡게 만들어서 선명하게 보이도록 하는 것입니다.

  • 낮은 대비: 흐릿하고 뿌연 이미지
  • 높은 대비: 선명하고 강한 이미지

원근 변환

8.3 이미지의 히스토그램




8.3.1 히스토그램 평활화

히스토그램 평활화는 이미지의 픽셀 분포를 재분배하여 대비(contrast)를 향상시키는 기법
어두운 이미지를 보다 명확하게 만들 때 자주 사용

0개의 댓글