Python/OpenCV

Python OpenCV 설치 및 기본 사용법

임베디드 친구 2025. 10. 28. 21:53
반응형

Python OpenCV 설치 및 기본 사용법

1. OpenCV란?

OpenCV(Open Source Computer Vision Library)는 오픈소스 컴퓨터 비전 및 머신 러닝 라이브러리로, 이미지 및 동영상 처리에 특화된 다양한 기능을 제공합니다. 1999년에 Intel에서 처음 개발되었으며, 현재는 전 세계적으로 널리 사용되고 있는 강력한 라이브러리입니다.

OpenCV는 다양한 프로그래밍 언어(C++, Python, Java 등)를 지원하며, 실시간 영상 처리에 최적화되어 있어 빠른 속도를 자랑합니다. 또한, 다양한 이미지 처리 및 기계 학습 알고리즘을 포함하고 있어 딥러닝 및 인공지능(AI) 개발에도 널리 활용됩니다.

2. OpenCV 설치 방법

Python 환경에서 OpenCV를 사용하려면 opencv-python 패키지를 설치해야 합니다. pip를 사용하여 간단하게 설치할 수 있습니다.

2.1. pip를 이용한 OpenCV 설치

다음 명령어를 실행하여 OpenCV를 설치할 수 있습니다.

pip install opencv-python

추가적으로, OpenCV의 일부 기능(예: GUI 창을 띄우는 기능, 일부 이미지 코덱 등)을 사용하려면 opencv-python-headless가 아닌 opencv-python 패키지를 설치해야 합니다.

만약 OpenCV와 함께 추가적인 확장 기능이 필요한 경우, opencv-contrib-python 패키지를 설치할 수도 있습니다.

pip install opencv-contrib-python

2.2. 설치 확인

설치가 정상적으로 완료되었는지 확인하려면, Python 인터프리터에서 다음 명령어를 실행해보세요.

import cv2
print(cv2.__version__)

이 코드가 정상적으로 실행되면 OpenCV가 성공적으로 설치된 것입니다.

3. OpenCV 기본 사용법

OpenCV를 설치한 후, 기본적인 기능을 확인해보겠습니다.

3.1. 이미지 불러오기 및 표시하기

아래 예제는 OpenCV를 사용하여 이미지를 불러오고 화면에 표시하는 코드입니다.

import cv2

# 이미지 읽기
image = cv2.imread("sample.jpg")

# 이미지가 정상적으로 불러와졌는지 확인
if image is None:
    print("이미지를 찾을 수 없습니다.")
else:
    # 이미지 표시
    cv2.imshow("Sample Image", image)

    # 키 입력을 대기한 후 창 닫기
    cv2.waitKey(0)
    cv2.destroyAllWindows()

위 코드에서는 cv2.imread() 함수를 이용해 이미지를 불러오고, cv2.imshow()를 사용하여 창에 표시합니다. 또한, cv2.waitKey(0)을 사용하여 키 입력을 대기하고, cv2.destroyAllWindows()로 모든 창을 닫습니다.

3.2. 동영상 불러오기 및 재생하기

카메라 또는 동영상 파일에서 영상을 불러와 화면에 표시하는 방법도 간단합니다.

import cv2

# 비디오 파일 또는 웹캠(0번) 열기
cap = cv2.VideoCapture("video.mp4")  # 또는 cv2.VideoCapture(0) for webcam

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    # 프레임을 화면에 표시
    cv2.imshow("Video", frame)

    # 'q' 키를 누르면 종료
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break

# 자원 해제
cap.release()
cv2.destroyAllWindows()

위 코드에서는 cv2.VideoCapture()를 이용하여 비디오 파일을 열거나 웹캠을 연결할 수 있습니다. cv2.imshow()를 사용하여 영상을 화면에 표시하며, 특정 키 입력(q)을 감지하여 종료합니다.

3.3. 이미지 저장하기

이미지를 변환한 후 파일로 저장할 수도 있습니다.

import cv2

# 이미지 읽기
image = cv2.imread("sample.jpg")

# 이미지를 그레이스케일로 변환
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 변환된 이미지 저장
cv2.imwrite("sample_gray.jpg", gray_image)

위 코드에서는 cv2.cvtColor()를 이용해 이미지를 흑백(그레이스케일)으로 변환한 후 cv2.imwrite()를 사용하여 새로운 파일로 저장합니다.

4. 추가 패키지 설치 및 활용

OpenCV는 다양한 기능을 제공하지만, 몇 가지 추가 패키지를 설치하면 더욱 강력한 활용이 가능합니다.

  • NumPy: OpenCV는 이미지 데이터를 NumPy 배열로 처리하므로, NumPy 패키지가 필요합니다.

    pip install numpy
  • Matplotlib: OpenCV의 이미지를 Jupyter Notebook에서 출력할 때 유용합니다.

    pip install matplotlib
  • scipy: 이미지 필터링 및 변환에 활용할 수 있습니다.

    pip install scipy

5. 결론

이번 포스팅에서는 OpenCV의 설치 방법과 기본적인 사용법에 대해 살펴보았습니다. OpenCV는 강력한 이미지 및 동영상 처리 기능을 제공하며, Python과 함께 사용하면 매우 쉽게 컴퓨터 비전 애플리케이션을 개발할 수 있습니다.

앞으로 OpenCV의 다양한 기능을 활용한 예제와 실전 프로젝트를 다루며, 더 깊이 있는 내용을 다룰 예정이니 많은 관심 부탁드립니다!

반응형