Computer Vision/OpenCV
[OpenCV] Python을 이용하여 OpenCV 다루기
devhater
2024. 1. 6. 22:16
안녕하세요, 학기 중에 여러모로 바빠서 글을 못올렸습니다..
로보틱스를 블로그에 정리하려고 했는데 글 하나만 올리고 나머지는 올리지 못했네요 ㅋㅋ
방학 중에는 OpenCV를 공부하면서 정리하는 글을 올려보려고 합니다!
1. OpenCV(Open Source Computer Vision Library)란?
OpenCV는 컴퓨터비전의 오픈소스 라이브러리 중 하나로, 현재 가장 대중적으로 사용되는 라이브러리입니다.
OpenCV는 실시간 이미지 처리에 사용되는 다양한 기능과 알고리즘을 제공합니다. C, C++, Python, matlab 등 다양한 언어에 활용이 가능한데, 저는 Python을 사용하였습니다.
OpenCV는 다음과 같은 기능을 제공합니다.
- 이미지 및 비디오 처리: 이미지 및 비디오를 읽고, 수정하고, 저장하는 다양한 함수와 도구를 제공합니다.
- 컴퓨터 비전 알고리즘: 객체 검출, 얼굴 인식, 특징 추출, 이미지 세그멘테이션 등과 같은 컴퓨터 비전 알고리즘을 지원합니다.
- 기계 학습: OpenCV는 머신 러닝 모델을 훈련시키고 적용하는 기능을 제공합니다. 최근 버전에서는 딥 러닝 모델과 관련된 기능도 강화되었습니다.
- 카메라 캡처: 카메라에서 실시간 데이터를 가져오고 처리하는 기능을 지원합니다.
- 이미지 변환과 필터링: 이미지 크기 조정, 회전, 필터링, 색상 변환 등 다양한 이미지 처리 작업을 수행할 수 있습니다.
- 특징 검출과 기술자 매칭: 이미지에서 특징을 검출하고, 각 특징에 대한 기술자를 추출하여 서로 일치하는 특징을 찾을 수 있습니다.
- 비디오 분석: 영상에서 객체 추적, 움직임 감지, 영상 분할 등과 같은 비디오 분석 기능을 제공합니다.
- 실시간 컴퓨터 비전: 실시간으로 비디오 스트림을 처리하여 응용 프로그램에서 실시간으로 반응할 수 있는 기능을 지원합니다.
2. OpenCV 설치
Python pip 모듈을 이용하여 간단하게 설치할 수 있습니다.
cmd에 들어가서, 다음과 같은 명령어를 사용하면 됩니다.
python -m pip install opencv-python
3. OpenCV로 이미지 띄우기
설치를 하셨다면, Python IDLE을 통해 간단한 이미지를 출력하는 프로젝트를 해보겠습니다.
먼저 이미지를 저장할 파일 경로를 만들어줘야하는데, 저같은 경우는 C드라이브에 파일을 만들어 저장하였습니다.
저는 C드라이브에 케로로 사진을 가져와서 저장했습니다. 여러분이 좋아하는 캐릭터를 골라서, JPG 형태로 저장해주시면 됩니다.
그리고 다음과 같은 코드를 입력해주면,
import numpy as np
import cv2
image = cv2.imread("C:\Python\Image\keroro.jpg")
if image is not None :
cv2.imshow("keroro",image)
print(image.shape[0], image.shape[1])
else :
print("fail")
이미지가 출력되는 것을 확인할 수 있습니다! 함수에 대한 기능은 나중에 살펴보도록 합시다.