[OpenCV] OpenCV를 이용한 실습 (사진 불러오기)

업데이트:

개요

이번 포스팅에서는 OpenCV를 활용해 자주 사용하는 기본적인 함수들을 정리하고, 이를 활용한 사진 불러오기 예제를 소개합니다.


1. OpenCV 기본 함수 알아보기

1.1 영상 파일 불러오기: cv2.imread

imread 함수를 사용하여 이미지 파일을 불러올 수 있습니다.

  • Flags: 이미지를 컬러, 흑백 등으로 불러오는 설정.
  • Filename: 파일 경로와 확장자(.jpg, .bmp 등) 포함.


1.2 영상 파일 저장하기: cv2.imwrite

imwrite 함수는 이미지를 저장할 때 사용됩니다.
주로 이미지를 수정한 뒤 저장하는 데 사용됩니다.


1.3 새로운 창 띄우기: cv2.namedWindow

namedWindow 함수를 사용하여 이미지를 출력할 창을 생성합니다.

  • 창의 크기와 영상 크기를 조정할 수 있는 Flags를 설정할 수 있습니다.


1.4 창 닫기: cv2.destroyWindow

destroyWindow 함수는 특정 창을 닫거나, destroyAllWindows를 사용하여 모든 창을 닫을 수 있습니다.


1.5 창 위치 이동: cv2.moveWindow

moveWindow 함수를 사용하여 창을 원하는 위치(x, y 좌표)로 이동시킬 수 있습니다.


1.6 창 크기 변경: cv2.resizeWindow

resizeWindow 함수는 창의 크기를 조정하는 데 사용됩니다.

  • 원하는 가로(width)와 세로(height)를 설정할 수 있습니다.


1.7 영상 출력하기: cv2.imshow

imshow 함수는 지정된 창에 이미지를 출력합니다.

  • 변수로 저장된 이미지 데이터를 창에 표시할 수 있습니다.


1.8 키보드 입력 대기하기: cv2.waitKey

waitKey 함수는 키 입력을 대기합니다.

  • 특정 키 입력에 반응하도록 설정할 수도 있습니다.


2. 사진 불러오기 예제

다음은 OpenCV를 사용하여 사진을 불러오는 간단한 예제입니다.

import cv2
import sys

# 이미지 파일 읽기
img = cv2.imread('example.jpg')

if img is None:
    print('Image load failed!')
    sys.exit()

# 창 생성 및 이미지 출력
cv2.namedWindow('image')
cv2.imshow('image', img)
cv2.waitKey()

# 모든 창 닫기
cv2.destroyAllWindows()

코드 설명

  1. 이미지 파일 불러오기:
    • imread로 이미지를 읽어 변수 img에 저장.
    • 파일 경로와 확장자명을 정확히 입력해야 함.
  2. 이미지 로드 실패 처리:
    • 이미지가 제대로 로드되지 않을 경우 None을 반환.
    • sys.exit()로 종료.
  3. 창 생성 및 출력:
    • namedWindow로 창 생성 후, imshow로 이미지를 출력.
  4. 키 입력 대기 및 종료:
    • waitKey로 키 입력을 대기.
    • destroyAllWindows로 창을 닫음.

예제 결과

예제 코드를 실행하면 아래와 같이 image 창에 example.jpg 이미지가 출력됩니다.


결론

이번 포스팅에서는 OpenCV의 기본 함수와 사진 불러오기 예제를 다뤘습니다. OpenCV의 다양한 기능을 활용하여 컴퓨터 비전 프로젝트를 진행해보세요!

댓글남기기