본문 바로가기

코딩/파이썬 opencv

opencv-python 001. opencv-python 패키지 설치 및 예제 프로그램 실행

OpenCV

[위키백과]

 

<위키백과>

 

OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 원래는 인텔이 개발하였다. 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다.

 

이 라이브러리는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈 소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow , Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다.

 

OpenCV는 C/C++ 프로그래밍 언어로 개발 되었으며 파이썬 , 자바 및 매트랩 / OCTAVE에 바인딩 되어 프로그래머에게 개발 환경을 지원합니다.

opencv.org

OpenCVdml 공식 웹 사이트이다.

https://opencv.org

 

<opencv.org>

opencv-python

opencv-python은 OpenCV에 대한 파이썬 라이브러리 (python wrapper)이다.

opencv-python 패키지 설치

PyCharm으로 opencv-python 패키지를 설치하면 numpy 및 wheel도 같이 설치된다.

 

 

PyCharm으로 opencv-python 패키지를 설치하면 venv -> ... -> site-packages 폴더 내에 opencv 관련 폴더가 추가된다.

 

  • cv2
  • opencv_python-4.5.3.56.dist-info

 

opencv_python-4.5.3.56.dist-info 폴더 내 METADATA 파일을 열어보면 몇 가지 참고할 만한 정보를 확인할 수 있다.

 

Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: Implementation :: CPython


4. Import the package:

    ``import cv2``

    All packages contain Haar cascade files. ``cv2.data.haarcascades`` can be
    used as a shortcut to the data folder. For example:

    ``cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")``

matplotlib 패키지

데이터 시각화 파이썬 패키지인 matplotlib도 최신 버전으로 설치해 본다.

 

간단한 실행

<코드 1>

import cv2 as cv

print(cv.version.opencv_version)

 

opencv-python 패키지의 import 이름은 cv2이다.

<코드 1>은 version 모듈에서 opencv-python 패키지의 버전을 출력한다.

 

<코드 2>

import cv2 as cv

img = cv.imread('image.jpg')
print(type(img))
cv.imshow('Hello OpenCV-Python', img)
key = cv.waitKey(0)
if key == ord('s'):
    cv.imwrite('myimage.png', img)

 

 

<코드 2>는 jpg 포맷의 이미지를 불러와 화면에 표시하고 임의 키를 누름으로써 프로그램을 종료하는 코드이다.

임의 키를 누를 때 's' 키를 누르면 이미지는 png 포맷으로 새로 저장(덮어쓰기)된다.

 

waitKey 함수의 전달인자는 아래와 같고, delay 값이 0 또는 어떠한 값도 전달하지 않으면 프로그램은 키보드 이벤트가 있을 때까지 대기한다는 의미이다.

 

def waitKey(delay=None):

 

imread 함수의 반환값은 numpy의 ndarray임을 확인한다.