Python의 OpenCV(cv2) 라이브러리를 사용하면 몇 줄의 코드만으로 이미지를 손쉽게 불러오고 화면에 표시할 수 있습니다. 기본적인 흐름은 다음과 같습니다.
- 이미지 불러오기: 파일에서 이미지를 읽어옵니다.
- 이미지 표시하기: 지정한 이름의 창(window)에 이미지를 출력합니다.
- 키 입력 대기: 사용자가 키를 누를 때까지 프로그램을 대기 상태로 유지합니다.
- 창 닫기: 열려 있는 모든 HighGUI 창을 종료하고 리소스를 해제합니다.
예제 코드
아래 예제는 'baseball.png'라는 이미지 파일을 컬러 모드로 읽어온 뒤, 화면에 표시하는 전체 과정을 보여줍니다.
import cv2
# 파일에서 이미지를 컬러로 읽어옵니다.
img = cv2.imread("baseball.png", cv2.IMREAD_COLOR)
# "baseball"이라는 제목의 창에 이미지를 표시합니다.
cv2.imshow("baseball", img)
# 아무 키나 누를 때까지 대기합니다.
cv2.waitKey(0)
# 열려 있는 모든 창을 닫습니다.
cv2.destroyAllWindows()주요 함수 설명
cv2.imread()
첫 번째 인자는 이미지 파일 경로이며, 두 번째 인자는 읽어올 방식을 지정합니다. cv2.IMREAD_COLOR는 이미지를 3채널 BGR 컬러 이미지로 불러오며, 파일이 존재하지 않거나 형식이 잘못된 경우 None을 반환하므로 필요하다면 예외 처리를 추가하는 것이 좋습니다.
cv2.imshow()
첫 번째 인자는 창의 제목(문자열), 두 번째 인자는 표시할 이미지 배열입니다. 같은 제목의 창이 이미 열려 있다면 해당 창의 내용이 갱신됩니다.
cv2.waitKey()
인자로 밀리초 단위의 대기 시간을 받습니다. 0을 전달하면 사용자가 키를 누를 때까지 무한히 대기하며, 반환값은 눌린 키의 ASCII 코드입니다.
cv2.destroyAllWindows()
OpenCV가 생성한 모든 GUI 창을 닫고 관련 메모리를 해제합니다. 이 호출을 생략하면 창이 비정상적으로 남아 있을 수 있으므로 스크립트 마지막에 반드시 호출하는 것이 좋습니다.
실행 결과
위 코드를 실행하면 "baseball"이라는 제목의 창이 열리고, 읽어온 이미지가 화면에 나타납니다. 아무 키나 누르면 창이 닫히면서 프로그램이 종료됩니다.