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 : 인간의 시각 체계 또는 시각적 지각을 의미한다. 컴퓨터 비전 분야에서는 이러한 인간이 사물을 인식하고 파악하는 프로세스를 모방하여, 다양한 비전 관련 작업을 수행한다.)
'딥러닝(Deep Learning) > OpenCV-Python' 카테고리의 다른 글
cv.namedWindow, cv.setMouseCallback의 관계(Feat, winname, 윈도우 창 구분자) (1) | 2024.02.06 |
---|---|
cv.CAP_DSHOW(Feat. DirectShow API,윈도우, Windows) (0) | 2024.02.05 |
OpenCV GPU 연동(Feat. Cmake, Cuda toolkit, cudnn) (0) | 2024.01.31 |
cv.CHAIN_APPROX_NONE, CHAIN_APPROX_SIMPLE(Feat. findContours() ) (2) | 2024.01.04 |
cv2.resize의 [dsize]와 [fx,fy]의 관계(open-cv) (0) | 2023.12.25 |