Coding 공부/Python

OpenCV 소개

CBJH 2024. 7. 22.
728x90
반응형

안녕하세요! 오늘은 파이썬 라이브러리 중 하나인 OpenCV에 대해서 자세히 알아보려고 해요. OpenCV는 컴퓨터 비전 분야에서 널리 사용되는 강력한 도구로, 이미지를 처리하고 분석하는 다양한 기능을 제공해요. 그럼, OpenCV가 무엇인지부터 시작해서 어떻게 사용할 수 있는지까지 차근차근 살펴보겠습니다.

OpenCV란?

OpenCV(Open Source Computer Vision Library)는 실시간 컴퓨터 비전을 위한 라이브러리로, 1999년에 인텔에서 처음 개발되었어요. 이후 오픈 소스로 전환되어 많은 개발자들이 기여하면서 발전해왔죠. 현재는 Python, C++, Java 등 다양한 언어에서 사용할 수 있으며, 이미지 처리, 얼굴 인식, 객체 추적 등 다양한 기능을 지원해요.

설치 방법

OpenCV를 사용하려면 먼저 설치해야겠죠? 파이썬에서는 pip를 사용해 간단하게 설치할 수 있어요. 터미널이나 명령 프롬프트에서 아래 명령어를 입력하면 됩니다.

pip install opencv-python

또한, OpenCV를 확장 기능들과 함께 사용하려면 opencv-contrib-python 패키지를 설치하는 것도 추천해요.

pip install opencv-contrib-python

기본 사용법

설치가 완료되었다면, 이제 간단한 예제를 통해 OpenCV를 사용하는 방법을 알아볼게요. 먼저, 이미지를 불러와서 화면에 표시하는 코드를 작성해보겠습니다.

 
import cv2

# 이미지 불러오기
image = cv2.imread('path/to/your/image.jpg')

# 이미지 표시
cv2.imshow('My Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

주요 기능 소개

OpenCV는 이미지 처리와 관련된 다양한 기능을 제공해요. 몇 가지 주요 기능을 살펴볼게요.

1. 이미지 변환

이미지를 회색조로 변환하거나 크기를 조절하는 등 다양한 변환을 쉽게 할 수 있어요.

# 이미지 회색조 변환
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 이미지 크기 조절
resized_image = cv2.resize(image, (300, 300))

2. 경계선 검출

경계선 검출은 이미지 내의 객체 경계를 식별하는 데 유용해요.

# Canny 경계선 검출
edges = cv2.Canny(gray_image, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. 얼굴 인식

OpenCV는 얼굴 인식 기능도 지원해요. Haar Cascades를 사용해 얼굴을 인식하는 방법을 살펴볼게요.

 
# Haar Cascade 로드
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

# 얼굴 인식
faces = face_cascade.detectMultiScale(gray_image, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))

# 인식된 얼굴에 사각형 그리기
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)

cv2.imshow('Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

마무리

이렇게 해서 OpenCV의 기본적인 사용법과 주요 기능들에 대해 살펴보았어요. OpenCV는 컴퓨터 비전 프로젝트를 시작하는 데 매우 유용한 라이브러리이니, 다양한 예제와 함께 실습해보시길 권장드려요. 앞으로도 많은 관심과 학습을 통해 컴퓨터 비전의 세계를 탐험해보세요! Happy Coding!

댓글