OpenCV 是由 Intel 公司發起,BSD 授權模式,可以在商業及研究領域中免費使用的一個電腦視覺函式庫,可以用在
OpenCV官網提供了 Windows, iOS 跟 Andriod 的套件,
至於 Mac OS,可以使用 $brew install opencv
來安裝 3.4 版
Linux 的比較新的版本則需要自己編譯,Ubuntu 的編譯請看官網 Ubuntu 10.04
Fedora/CentOS 7 可以參考以下
一些 yum 的套件
$yum groupinstall "Development tools"
$yum install numpy python36-numpy python36-devel gtk2-devel pkgconfig libdc1394-devel
$yum install libv4l-devel gstreamer-plugins-base-devel
$pip install numpy
$git clone https://github.com/opencv/opencv
$cd opencv
$mkdir build
$cd build
$cmake -D WITH_OPENCL=OFF
-D WITH_CUDA=OFF
-D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D BUILD_opencv_python3=yes
-D PYTHON3_EXECUTABLE=/opt/rh/rh-python36/root/usr/bin/python3
-D PYTHON3_INCLUDE_DIR=/opt/rh/rh-python36/root/usr/include/python3.6m
-D PYTHON3_LIBRARY=/opt/rh/rh-python36/root/usr/lib64/libpython3.6m.so.rh-python36-1.0
-D PYTHON3_NUMPY_INCLUDE_DIRS=/opt/rh/rhpython36/root/usr/lib64/python3.6/sitepackages/numpy/core/include
-D WITH_FFMPEG=OFF ..
$make -j 2
$sudo make install
$cd /opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages
$sudo ln -s /usr/local/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
/usr/local/lib64
執行
$ldconfig
增加以下到 ~/.bash_profile
PKG_CONFIG_PATH=PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig
export PKG_CONFIG_PATH
import cv2
haarcascade_frontalface_default.xml
設到字串在 Command Line 或者 Emacs shell 執行 python facedetect.py harry-meghan-15.jpg
import cv2
import sys
# Get user supplied values
imagePath = sys.argv[1]
cascPath = "./haarcascade_frontalface_default.xml"
# 建立判別器 Classifier
faceCascade = cv2.CascadeClassifier(cascPath)
# 讀進影像
image = cv2.imread(imagePath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 偵測影像中的人臉
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30)
)
print("Found {0} faces!".format(len(faces)))
# 在人臉上畫一個長方形
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
# show 影像
cv2.imshow("Faces Found", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
相關簡報,請看 簡報
相關程式,請看 Github
相關資料,請看我的部落格