OpenCV
From charlesreid1
The OpenCV library is a general, all-purpose computer vision library. It's high performance and written in C++. It has many dependencies and is non-trivial to install, so the best approach is to either use a detailed guide, a package manager like aptitude or homebrew, or an Ansible playbook.
Contents
Operating Systems
Mac
OpenCV3
To install OpenCV3 on a Mac, and make it usable from Python 3, use Homebrew:
$ brew install opencv --with-python3 --c++11 --with-contrib $ brew link --force opencv
You may need to add the --without-openexr
flag if you run into compiler errors (hat tip: [1]).
Test that it installed okay:
$ python3 >>> import cv2 >>> print(cv2.__version__)
(Yeah, the OpenCV 3 module is still called "cv2" - thanks to the genius who thought that was a good idea.)
OpenCV2
To install OpenCV version 2, use the (at)2 after opencv:
$ brew install opencv@2 $ brew unlink opencv # This is necessary if you already installed opencv (version 3 by default) $ brew link --force opencv@2
Raspberry Pi
Install OpenCV using aptitude:
#!/bin/bash ### # This is a meta-package that points to other dev packages. ### # Try the stuff below first. ### apt-get -y install libopencv-dev apt-get -y install libopencv-core-dev apt-get -y install libopencv-video-dev apt-get -y install libopencv-features2d-dev apt-get -y install python-opencv
See the pi-opencv repository on Github: https://github.com/charlesreid1-raspberry-pi/pi-opencv
Documentation and Usage
Using OpenCV from Python
Unfortunately, most of the OpenCV documentation covers use of OpenCV from C++, not Python.
OpenCV-Python Tutorials: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
These cover the following topics:
- Introduction to OpenCV
- GUI features
- Image processing
- Feature detection
- Video analysis
- Camera calibration
- Machine learning
- Computational photography
- Object detection
Face Detection and Object Detection
Face detection: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html#face-detection
Using OpenCV from Cpp
All of the documentation links: https://docs.opencv.org/
OpenCV 2.4 documentation for C++ API: https://docs.opencv.org/2.4/index.html
OpenCV 3.3.1 documentation for C++ API: https://docs.opencv.org/3.3.1/
How the Documentation Works
Here's a link to an explanation of how the OpenCV documentation works, how it is organized, and how to contribute to it: https://docs.opencv.org/trunk/d4/db1/tutorial_documentation.html