Computer VIsion/기초(OpenCV)

Opencv를 활용하여 이미지를 출력해보기

JackSmith 2024. 8. 23.

Opencv를 사용하여 이미지를 화면에 표시하는 기본적인 작업흐름을 알아보겠습니다.

1.순서도

 

 

그 단계는 다음과 같습니다.

 

1.이미지 파일 열기

더보기

먼저 로커에 저장된 이미지파일의 경로를 파악하여 열어줍니다. 이때 ` cv2.imread() ` 함수를 사용합니다.

 

2.이미지를 화면에 표시

더보기

열었던 이미지를 화면에 표시하기 위해 `cv2.imshow()`함수를 사용합니다.

 

3.키 입력 대기

더보기

이미지를 화면에 표시한 후, 사용자가 키를 입력할때까지 대기한다. 이를 위해 cv2.waitKey()함수를 사용합니다.

(마치 폴링이 돌고 있는 상황에서 중간에 인터럽트를 넣어서 새로운 이벤트를 발생시키는 것과 같습니다)

 

4.창 닫기

더보기

사용자가 키를 입력하여 인터럽트를 발생시키면, 표시된 창을 닫게 됩니다. 이는 `cv2.destroyAllWindows()` 함수로  수행됩니다.

 

2.실습

실습환경은 주피터 환경에서 진행되었습니다.

코드:

import cv2

# 이미지 파일 열기
image = cv2.imread('./../assets/images/siba.jpg')

# 1.이미지를 직접 윈도우에 표시
cv2.imshow('Image', image)

# 키 입력 대기
cv2.waitKey(0)

# 창 닫기
cv2.destroyAllWindows()

 

실행결과:

 

 

 

3.추가 - 이미지를 주피터 노트북의 출력셀에 표시하기

import cv2
from matplotlib import pyplot as plt

# 이미지 파일 열기
image = cv2.imread('./../assets/images/siba.jpg')

# OpenCV는 BGR로 이미지를 로드하지만, matplotlib는 RGB는 이미지를 표시합니다.
# 따라서 BGR에서 RGB로 이미지  색상 순서를 변경해야 합니다.
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# 이미지 표시
plt.imshow(image_rgb)
plt.title('Image')
plt.show()

 

 

만약 해당 코드를 주피터 노트북 환경이 아닌 일반 vscode에서 python명령어를 써서 실행한다면 다음과 같은 오류가 발생하니 주의하세요.

 

 

 

 

 

댓글