Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

OpenCV로 이미지를 컬러에서 회색조(그레이스케일)로 변환하는 방법

이 튜토리얼에서는 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(): 변환 전후의 이미지를 화면에 출력하여 결과를 시각적으로 확인할 수 있게 합니다.

실행 결과

원본 이미지:

OpenCV로 이미지를 컬러에서 회색조(그레이스케일)로 변환하는 방법

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

OpenCV로 이미지를 컬러에서 회색조(그레이스케일)로 변환하는 방법

참고 사항

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