0617044顧啟耀
全名為Open Source Computer Vision Library,其於1999年由intel建立,今由Willow Garage提供支援,是一個基於開放原始碼發行的跨平台電腦視覺庫,可執行於Linux、Windows、MacOS、Android、iOS等作業系統上。
OpenCV由c與c++所構成,還支援C#、Ch、Ruby等程式語言,同時提供對Python、Ruby、MATLAB等語言介面,實現影像處理和電腦視覺的演算法。
OpenCV可用於解決下列問題:
人機互動、物體識別、影像分區、人臉識別、動作識別、運動跟蹤、機器人
Install OpenCV on linux system
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev
接下來用git clone下來最新版本的OpenCV
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
6.設定Python(為避免相容性bug這裡依照參考教程安裝)
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
mkvirtualenv cv -p python3
f.以剛剛建立的虛擬環境繼續設定<(此時prompt開頭應該會有一個(cv))
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF ..
sudo make install
sudo ldconfig
cd /usr/local/lib/python3.6/site-packages
sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
cd ~/.virtualenvs/cv/lib/python3.6/site-packages/
ln -s /usr/local/lib/python3.6/site-packages/cv2.so cv2.so
workon cv
python
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.4'
>>> quit()
一種強大的程式碼編輯器,不僅可在Linux、Windows、MacOS上執行,還支援數百種程式語言,且其含有強大的編輯與偵錯能力。
Visual Studio Code installation
在Visual Studio Code中修改python位址
dlib是一套使用c++語言所編寫的函式庫,主要可應用在機器學習、影像處理、影像辨識等等,它是基於BSD授權條款,是免費的。
sudo apt-get install libopenblas-dev liblapack-dev
sudo apt-get install libx11-dev libgtk-3-dev
sudo apt-get install python python-dev python-pip
sudo apt-get install python3 python3-dev python3-pip
workon cv
pip install dlib
python
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dlib
>>> dlib.__version__
'19.8.2'
>>> quit()
imutils是Adrian Rosebrock開發的python library,整合了numpy、opencv相關操作,進行一些圖像處理,包括平移、縮放、旋轉、骨架提取等等
workon cv
pip install imutils