이 튜토리얼에서는 OpenCV를 활용하여 컬러(RGB) 이미지를 회색조(그레이스케일) 이미지로 변환하는 방법을 단계별로 알아봅니다. 이미지 처리에서 그레이스케일 변환은 계산량을 줄이고 윤곽선이나 형태 분석을 쉽게 해주는 기본적인 전처리 과정으로 널리 사용됩니다.
알고리즘
1단계: OpenCV 라이브러리를 임포트합니다.
2단계: imread() 함수를 사용하여 원본 이미지를 불러옵니다.
3단계: cv2.cvtColor() 함수를 사용하여 이미지를 그레이스케일로 변환합니다.
예제 코드
import cv2
image = cv2.imread('colourful.jpg')
cv2.imshow('Original', image)
grayscale = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow('Grayscale', grayscale)
코드 설명
cv2.imread(): 지정된 경로의 이미지 파일을 읽어와 넘파이(NumPy) 배열 형태로 반환합니다. OpenCV는 기본적으로 BGR 순서로 색상 채널을 다룹니다.
cv2.cvtColor(): 이미지의 색 공간을 변환하는 함수입니다. 여기서는 cv2.COLOR_BGR2GRAY 플래그를 사용하여 BGR 컬러 이미지를 그레이스케일로 변환합니다.
cv2.imshow(): 변환 전후의 이미지를 화면에 출력하여 결과를 시각적으로 확인할 수 있게 합니다.
실행 결과
원본 이미지:

그레이스케일로 변환된 이미지:

참고 사항
변환된 이미지를 파일로 저장하려면 cv2.imwrite('grayscale.jpg', grayscale) 코드를 추가하면 됩니다. 또한 창이 바로 닫히는 것을 방지하려면 마지막에 cv2.waitKey(0)와 cv2.destroyAllWindows()를 함께 사용하는 것이 좋습니다.