본문 바로가기

딥러닝(Deep Learning)/OpenCV-Python

cv2.cvtColor(grayscale 변환)의 내부 원리(feat. Luma)

Grayscale 이미지로의 변환은 BGR 이미지의 각 픽셀을 단일 휘도(밝기) 값으로 변환하는 과정입니다.

일반적으로 많이 사용되는 방법 중 하나는 휴먼 비전(Human Vision)에 기반한 방법인 Luma 채널을 사용하는 것입니다.

Luma는 B, G, R 채널의 가중 평균을 계산하여 얻을 수 있습니다.

Luma 계산식:

GrayScale=0.299⋅R + 0.587⋅G + 0.114⋅B 

 

import cv2

# 이미지 읽기
image = cv2.imread('example.jpg')

# BGR 이미지를 Grayscale 이미지로 변환
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

 

Opencv-Python에서는 일반적으로 cv2.cvtColor()을 사용하여 Gray 이미지를 생성한다.

이 API의 내부 원리 또한 Luma 공식을 사용하여 변환을 한다. 

( Human Vision : 인간의 시각 체계 또는 시각적 지각을 의미한다. 컴퓨터 비전 분야에서는 이러한 인간이 사물을 인식하고 파악하는 프로세스를 모방하여, 다양한 비전 관련 작업을 수행한다.)