이 튜토리얼에서는 OpenCV 라이브러리를 사용하여 이미지를 그레이스케일로 변환하는 방법을 알아봅니다.
그레이스케일링(Grayscaling)은 RGB, CMYK 등 다양한 색상 공간의 이미지를 회색 음영으로 변경하는 과정입니다. 컬러 정보를 제거하고 밝기 값만 남기기 때문에 이미지 처리, 엣지 검출, 머신러닝 전처리 등에서 널리 활용됩니다.
OpenCV 설치하기
아직 OpenCV 모듈을 설치하지 않았다면, 아래 명령어로 간단히 설치할 수 있습니다.
pip install opencv-python
그레이스케일 변환 단계별 가이드
OpenCV 설치가 완료되었다면, 다음 순서에 따라 코드를 작성해 보세요.
cv2모듈을 임포트합니다.- cv2.imread(image_path) 함수로 이미지를 읽고 변수에 저장합니다.
- cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 함수를 사용해 색상 공간을 회색조로 변환한 후 새 변수에 저장합니다.
- cv2.imshow() 함수로 결과 이미지를 화면에 출력합니다.
- cv2.waitKey()를 호출하여 키 입력이 있을 때까지 대기합니다.
- cv2.destroyAllWindows() 메서드로 열려 있는 모든 창을 닫습니다.
예제 코드
# opencv(cv2) 모듈 임포트
import cv2
# 이미지 읽기
image = cv2.imread('lion.png')
# 색상 공간 변경 (BGR → Grayscale)
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 결과 이미지 출력
cv2.imshow('Grayscale Lion', gray_image)
# 키 입력 대기
cv2.waitKey()
# 모든 창 닫기
cv2.destroyAllWindows()실행 결과
위 코드를 실행하면 아래와 같이 원본 이미지가 회색 음영으로 변환된 것을 확인할 수 있습니다.

마무리 및 참고 사항
OpenCV에서 이미지는 기본적으로 BGR(파랑·초록·빨강) 순서로 로드된다는 점을 기억하세요. 이는 일반적인 RGB 순서와 반대이므로, 다른 라이브러리와 함께 작업할 때 주의가 필요합니다. 또한 그레이스케일 변환은 이미지 데이터 크기를 줄여 처리 속도를 높이는 데도 효과적입니다.
튜토리얼 진행 중 궁금한 점이 있다면 댓글로 남겨주세요.