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

파이썬 OpenCV에서 이미지를 읽는 방법 – imread부터 imshow까지 단계별 가이드

파이썬의 OpenCV 라이브러리를 사용하면 몇 줄의 코드만으로 이미지를 손쉽게 불러오고 화면에 표시할 수 있습니다. 이 글에서는 OpenCV로 이미지를 읽는 기본 과정을 단계별로 살펴보고, 각 함수가 어떤 역할을 하는지 자세히 설명합니다.

이미지 읽기 기본 4단계

  • 파일에서 이미지 불러오기cv2.imread() 함수를 사용해 디스크에 저장된 이미지를 메모리로 로드합니다.
  • 지정한 창에 이미지 표시하기cv2.imshow() 함수로 특정 이름의 윈도우에 이미지를 띄웁니다.
  • 키 입력 대기하기cv2.waitKey() 함수를 호출해 사용자가 키를 누를 때까지 프로그램을 대기 상태로 유지합니다.
  • 모든 HighGUI 창 닫기cv2.destroyAllWindows() 함수로 열려 있는 모든 창을 정리하고 리소스를 해제합니다.

예제 코드

import cv2
img = cv2.imread("baseball.png", cv2.IMREAD_COLOR)
cv2.imshow("baseball", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

코드 상세 설명

1. cv2.imread() – 이미지 로드

cv2.imread()는 첫 번째 인자로 이미지 파일 경로를, 두 번째 인자로 읽기 모드(flag)를 받습니다. 위 예제에서 사용된 cv2.IMREAD_COLOR는 이미지를 컬러(BGR 3채널)로 불러오는 옵션입니다.

자주 사용되는 주요 플래그는 다음과 같습니다.

  • cv2.IMREAD_COLOR : 컬러 이미지로 읽기 (기본값)
  • cv2.IMREAD_GRAYSCALE : 흑백(그레이스케일) 이미지로 읽기
  • cv2.IMREAD_UNCHANGED : 알파 채널을 포함해 원본 그대로 읽기

2. cv2.imshow() – 이미지 출력

cv2.imshow()는 첫 번째 인자로 창의 제목(문자열), 두 번째 인자로 표시할 이미지 배열을 받습니다. 같은 이름의 창이 이미 존재하면 해당 창에 이미지를 다시 그립니다.

3. cv2.waitKey() – 키 입력 대기

cv2.waitKey(0)은 사용자가 아무 키나 누를 때까지 무한정 대기합니다. 인자에 밀리초 단위 숫자를 넣으면 해당 시간 동안만 대기한 후 다음 코드로 넘어갑니다. 이 함수가 없으면 창이 순간적으로 나타났다 바로 사라지므로 반드시 함께 사용해야 합니다.

4. cv2.destroyAllWindows() – 창 정리

프로그램 종료 전에 cv2.destroyAllWindows()를 호출하면 OpenCV가 생성한 모든 GUI 창을 닫고 관련 메모리를 깨끗하게 해제합니다.

실행 결과

위 코드를 실행하면 "baseball"이라는 제목의 창이 열리고, 지정한 이미지가 화면에 표시됩니다. 아무 키나 누르면 창이 닫히며 프로그램이 종료됩니다.

파이썬 OpenCV에서 이미지를 읽는 방법 – imread부터 imshow까지 단계별 가이드

마무리

OpenCV의 이미지 읽기는 imread → imshow → waitKey → destroyAllWindows의 네 가지 기본 흐름으로 구성됩니다. 이 패턴은 영상 처리, 객체 인식 등 모든 컴퓨터 비전 프로젝트의 출발점이 되므로 꼭 익혀두시기 바랍니다.