소스 뷰어
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 이미지 읽기 (컬러 이미지, 기본적으로 BGR 형식으로 읽음)
img_bgr = cv2.imread('example.jpg')

# NumPy를 사용하여 BGR 이미지를 그레이스케일로 변환
# BGR 순서로 채널을 분리
blue_channel = img_bgr[:, :, 0]
green_channel = img_bgr[:, :, 1]
red_channel = img_bgr[:, :, 2]

# 평균 적용하여 그레이스케일 계산
img_gray = blue_channel/3.0 + green_channel/3.0 + red_channel/3.0

# 결과를 8비트 정수형으로 변환
img_gray = img_gray.astype(np.uint8)

# 그레이스케일 이미지 출력
plt.figure(figsize=(6, 6))
plt.imshow(img_gray, cmap='gray')  # 그레이스케일 이미지를 표시할 때는 cmap='gray' 사용
plt.title('Grayscale Image (NumPy average)')
plt.axis('off')
plt.show()
No description has been provided for this image