OpenCV 비전 실무5장 · 영상 향상과 학습용 전처리20 / 21← 이전목차다음 →MetaContents

5장. 영상 향상과 학습용 전처리

정리

밝기와 대비, 감마와 평활화, CLAHE 와 학습용의 세 칸으로 5장을 요약한 인포그래픽
  • 밝기 조정은 모든 칸에 같은 값을 더합니다. NumPy 덧셈은 255 를 넘으면 0 으로 되돌아가므로 cv2.add, cv2.subtract 로 포화 연산을 합니다. 히스토그램은 모양 그대로 옆으로 밀리고 표준편차는 바뀌지 않습니다.
  • 대비 조정 식 g = alpha × f + beta 에서 alpha 가 1 보다 크면 차이가 벌어집니다. 100 과 160 은 alpha 1.5, beta -64 로 86 과 176 이 됩니다. cv2.convertScaleAbs 는 음수를 절댓값으로 바꾸니 np.clip 과 견주어 씁니다.
  • 정규화(NORM_MINMAX)는 가장 어두운 값을 0, 가장 밝은 값을 255 로 늘입니다. 90~165 범위의 120 은 40% 자리라 102 가 됩니다.
  • 감마 보정은 (밝기 ÷ 255) 를 감마만큼 거듭제곱하고 255 를 곱합니다. 감마 0.5 는 64 를 128 로 올리고, 감마 2 는 128 을 64 로 내립니다. 256칸 조회표와 cv2.LUT 로 한 번에 바꿉니다.
  • 히스토그램 평활화는 누적 비율로 새 밝기를 매깁니다. 픽셀 8개(50, 50, 50, 60, 60, 70, 80, 90)는 0, 102, 153, 204, 255 로 퍼집니다. 컬러 사진은 YCrCb 의 Y 나 HSV 의 V 만 평활화해야 색이 지켜집니다.
  • CLAHE 는 바둑판 칸마다 평활화하고 높은 막대를 clipLimit 에서 깎습니다. 역광 그림에서 전체 평활화는 책장의 표준편차를 13.0 에서 68.2 로 키웠지만 칸의 0.088 을 하얗게 날렸고, CLAHE(clipLimit 2)는 18.4 로 덜 키우는 대신 창을 지켰습니다. 잡티는 전체 평활화에서 2.5 가 16.5 로, CLAHE 2 에서는 6.6 으로 커졌습니다.
  • 학습 사진은 진단 → 판정에 맞는 손질 → 다시 진단으로 고치고, 학습과 실제 사용에 같은 손질을 씁니다. 부품 사진 여섯 장은 감마와 정규화로 모두 정상이 됐고, 그중 두 장은 "어두움 → 대비 낮음"을 거쳐 두 번 손질했습니다. 그림자가 진 사진은 숫자로는 정상이어도 그림자가 남아, 숫자와 함께 그림을 눈으로 확인해야 합니다.
← 이전 절5장 · 프로젝트 1 — 어둡고 흐릿한 학습 사진 일괄 보정다음 절 →5장 · 확인문제와 해답