
OpenCV
[위키백과]

OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 원래는 인텔이 개발하였다. 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다.
이 라이브러리는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈 소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow , Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다.
OpenCV는 C/C++ 프로그래밍 언어로 개발 되었으며 파이썬 , 자바 및 매트랩 / OCTAVE에 바인딩 되어 프로그래머에게 개발 환경을 지원합니다.
opencv.org
OpenCVdml 공식 웹 사이트이다.

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임을 확인한다.

'코딩 > 파이썬 opencv' 카테고리의 다른 글
| opencv-python 005. 카메라, 비디오 영상을 화면에 출력 (0) | 2021.09.26 |
|---|---|
| opencv-python 004. imshow()로 다중 이미지 다중 화면에 출력 (matplotlib 포함) (0) | 2021.09.19 |
| opencv-python 003. imwrite()로 이미지 파일로 저장 (0) | 2021.09.08 |
| opencv-python 002. imread()로 이미지를 불러오고 imshow()로 화면에 출력 (0) | 2021.09.07 |