이 글에서는 파이썬의 OpenCV 라이브러리를 사용하여 이미지를 불러오고 화면에 표시하는 기본적인 방법을 알아봅니다.
OpenCV는 실시간 컴퓨터 비전(computer vision)을 목적으로 개발된 프로그래밍 함수 라이브러리로, 이미지 처리와 영상 분석 분야에서 가장 널리 사용되는 도구 중 하나입니다. 이미지를 읽어 들이기 전에 반드시 해당 이미지 파일이 실행 중인 프로그램과 같은 디렉터리(폴더)에 있는지 확인해야 합니다. 다른 경로에 있다면 파일의 전체 경로를 지정해 주어야 합니다.
처리 순서
OpenCV로 이미지를 읽고 표시하는 과정은 크게 세 단계로 나눌 수 있습니다.
1단계: OpenCV 라이브러리를 임포트한다.
2단계: imread() 함수를 사용하여 이미지를 읽어 들인다.
3단계: imshow() 함수를 사용하여 이미지를 화면에 표시한다.
예제 코드
아래는 'ronaldo.jpg'라는 이미지 파일을 읽어 창에 띄우는 간단한 예제입니다.
import cv2 as cv
# 이미지 파일 읽기
image = cv.imread('ronaldo.jpg')
# 이미지 표시
cv.imshow('Cristiano Ronaldo', image)
cv.waitKey(0)
cv.destroyAllWindows()
코드 설명
각 단계별로 코드가 어떻게 동작하는지 살펴보겠습니다.
1. 라이브러리 임포트
import cv2 as cv 구문을 통해 OpenCV 모듈을 가져오며, 이후 cv라는 별칭으로 함수들을 호출할 수 있습니다.
2. 이미지 읽기 — imread()
cv.imread('ronaldo.jpg')는 지정한 파일을 읽어 넘파이(NumPy) 배열 형태로 반환합니다. 파일이 존재하지 않거나 경로가 잘못되면 오류 대신 None을 반환하므로, 필요에 따라 값이 정상적으로 로드되었는지 확인하는 것이 좋습니다.
3. 이미지 표시 — imshow()
cv.imshow('창 제목', image)는 지정한 이름의 창을 생성하고 그 안에 이미지를 출력합니다. 첫 번째 인자는 창의 제목, 두 번째 인자는 표시할 이미지 배열입니다.
4. 창 유지 및 종료
cv.waitKey(0)은 사용자가 아무 키나 누를 때까지 프로그램을 대기 상태로 유지합니다. 이 함수가 없으면 이미지 창이 순간적으로 나타났다 바로 닫혀 버립니다. 마지막으로 cv.destroyAllWindows()를 호출하여 열려 있는 모든 창을 정리하고 리소스를 해제합니다.
실행 결과
위 코드를 실행하면 'Cristiano Ronaldo'라는 제목의 창이 열리고, 읽어 들인 이미지가 화면에 표시됩니다.

마무리
지금까지 OpenCV의 imread()와 imshow() 함수를 사용하여 이미지를 읽고 화면에 표시하는 기본 과정을 살펴보았습니다. 여기에 이미지 저장(imwrite()), 크기 조절(resize()), 색상 변환(cvtColor()) 등의 기능을 더하면 본격적인 이미지 처리 작업으로 확장할 수 있습니다.