UbuntuインストールOpenCV 3詳細チュートリアル付属テスト(親測定可)
宣言
本文の大部分は転載して、いくつかの校正と訂正を行って、原文を参考にして含みます
Step 1: Update packages
1 2
sudo
apt-get update
sudo
apt-get upgrade
Step 2: Install OS libraries
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Remove any previous installations of x264<
/h3
>
sudo
apt-get remove x264 libx264-dev
We will Install dependencies now
sudo
apt-get
install
build-essential checkinstall cmake pkg-config yasm
sudo
apt-get
install
git gfortran
sudo
apt-get
install
libjpeg8-dev libjasper-dev libpng12-dev
# If you are using Ubuntu 14.04
sudo
apt-get
install
libtiff4-dev
# If you are using Ubuntu 16.04
sudo
apt-get
install
libtiff5-dev
sudo
apt-get
install
libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo
apt-get
install
libxine2-dev libv4l-dev
sudo
apt-get
install
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo
apt-get
install
qt5-default libgtk2.0-dev libtbb-dev
sudo
apt-get
install
libatlas-base-dev
sudo
apt-get
install
libfaac-dev libmp3lame-dev libtheora-dev
sudo
apt-get
install
libvorbis-dev libxvidcore-dev
sudo
apt-get
install
libopencore-amrnb-dev libopencore-amrwb-dev
sudo
apt-get
install
x264 v4l-utils
# Optional dependencies
sudo
apt-get
install
libprotobuf-dev protobuf-compiler
sudo
apt-get
install
libgoogle-glog-dev libgflags-dev
sudo
apt-get
install
libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
Step 3: Install Python libraries
1 2 3
sudo
apt-get
install
python-dev python-pip python3-dev python3-pip
sudo
-H pip2
install
-U pip numpy
sudo
-H pip3
install
-U pip numpy
We will use Virtual Environment to install Python libraries. It is generally a good practice in order to separate your project environment and global environment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
# Install virtual environment
sudo
pip2
install
virtualenv virtualenvwrapper
sudo
pip3
install
virtualenv virtualenvwrapper
echo
"# Virtual Environment Wrapper"
>> ~/.bashrc
echo
"source /usr/local/bin/virtualenvwrapper.sh"
>> ~/.bashrc
source
~/.bashrc
############ For Python 2 ############
# create virtual environment
mkvirtualenv facecourse-py2 -p python2
workon facecourse-py2
# now install python libraries within this virtual environment
pip
install
numpy scipy matplotlib scikit-image scikit-learn ipython
# quit virtual environment
deactivate
######################################
############ For Python 3 ############
# create virtual environment
mkvirtualenv facecourse-py3 -p python3
workon facecourse-py3
# now install python libraries within this virtual environment
pip
install
numpy scipy matplotlib scikit-image scikit-learn ipython
# quit virtual environment
deactivate
######################################
Step 4: Download OpenCV and OpenCV_contrib
We will download opencv and opencv_contrib packages from their GitHub repositories.
Step 4.1: Download opencv from Github
1 2 3 4
git clone
https://github.com/opencv/opencv.git
cd
opencv
git checkout 3.4
cd
..
Step 4.2: Download opencv_contrib from Github
1 2 3 4
git clone
https://github.com/opencv/opencv_contrib.git
cd
opencv_contrib
git checkout 3.4
cd
..
Step 5: Compile and install OpenCV with contrib modules
Step 5.1: Create a build directory
1 2 3
cd
opencv
mkdir
build
cd
build
Step 5.2: Run CMake
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
cmake -D CMAKE_BUILD_TYPE=RELEASE\ -D CMAKE_INSTALL_PREFIX=/usr/local\ -D INSTALL_C_EXAMPLES=OFF\ -D INSTALL_PYTHON_EXAMPLES=ON\ -D WITH_TBB=ON\ -D WITH_V4L=ON\ -D WITH_QT=ON\ -D WITH_OPENGL=ON\ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules\ -D BUILD_EXAMPLES=ON\ -D WITH_CUDA=ON\ -D PYTHON2_EXECUTABLE=/home/sgx/software/anaconda2/bin/python\ -D PYTHON_INCLUDE_DIR=/home/sgx/software/anaconda2/include/python2.7\ -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python2.7\ -D PYTHON_LIBRARY=/home/sgx/software/anaconda2/lib/libpython2.7.so\ -D PYTHON2_NUMPY_INCLUDE_DIRS=/home/sgx/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/ ..
ここで補足します.pythonパスは自分のマシン上のパスに設定します.
実際の操作では、最初のコンパイルでエラーが発生しました.具体的には
CMakeFiles/example_gpu_multi.dir/multi.cpp.o: undefined reference to symbol '_ZN3tbb18task_group_contextD1Ev'
Google後に設定-DWITH_を発見EXAMPLES=OFFでいいです...
おそらくOpencvのexampleとCUDA-8.0のmulti_gpuコードインタフェースが調整されていません.
Step 5.3: Compile and Install
1 2 3 4 5 6 7
# find out number of CPU cores in your machine
nproc
# substitute 4 by output of nproc
make
-j4
sudo
make
install
sudo
sh -c
'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo
ldconfig
Step 5.4: Create symlink in virtual environment
Depending upon Python version you have, paths would be different. OpenCV’s Python binary (cv2.so) can be installed either in directory site-packages or dist-packages. Use the following command to find out the correct location on your machine.
1
find
/usr/local/lib/
-
type
f -name
"cv2*.so"
It should output paths similar to one of these (or two in case OpenCV was compiled for both Python2 and Python3):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
############ For Python 2 ############
## binary installed in dist-packages
/usr/local/lib/python2
.6
/dist-packages/cv2
.so
/usr/local/lib/python2
.7
/dist-packages/cv2
.so
## binary installed in site-packages
/usr/local/lib/python2
.6
/site-packages/cv2
.so
/usr/local/lib/python2
.7
/site-packages/cv2
.so
############ For Python 3 ############
## binary installed in dist-packages
/usr/local/lib/python3
.5
/dist-packages/cv2
.cpython-35m-x86_64-linux-gnu.so
/usr/local/lib/python3
.6
/dist-packages/cv2
.cpython-36m-x86_64-linux-gnu.so
## binary installed in site-packages
/usr/local/lib/python3
.5
/site-packages/cv2
.cpython-35m-x86_64-linux-gnu.so
/usr/local/lib/python3
.6
/site-packages/cv2
.cpython-36m-x86_64-linux-gnu.so
Double check the exact path on your machine before running the following commands
1 2 3 4 5 6 7
############ For Python 2 ############
cd
~/.virtualenvs
/facecourse-py2/lib/python2
.7
/site-packages
ln
-s
/usr/local/lib/python2
.7
/dist-packages/cv2
.so cv2.so
############ For Python 3 ############
cd
~/.virtualenvs
/facecourse-py3/lib/python3
.6
/site-packages
ln
-s
/usr/local/lib/python3
.6
/dist-packages/cv2
.cpython-36m-x86_64-linux-gnu.so cv2.so
Step 6: Test OpenCV3
We will test a red eye remover application written in OpenCV to test our C++ and Python installations. Download RedEyeRemover.zip and extract it into a folder.
Step 6.1: Test C++ code
Move inside extracted folder, compile and run.
1 2 3 4 5
# compile
# There are backticks ( ` ) around pkg-config command not single quotes
g++ -std=c++11 removeRedEyes.cpp `pkg-config --libs --cflags opencv` -o removeRedEyes
# run
.
/removeRedEyes
Step 6.2: Test Python code
Activate Python virtual environment
1 2 3 4 5
############ For Python 2 ############
workon facecourse-py2
############ For Python 3 ############
workon facecourse-py3
Quick Check
1 2 3 4 5 6 7 8
# open ipython (run this command on terminal)
ipython
# import cv2 and print version (run following commands in ipython)
import
cv2
print cv2.__version__
# If OpenCV3 is installed correctly,
# above command should give output 3.3.1
# Press CTRL+D to exit ipython
Run RedEyeRemover demo
1
python removeRedEyes.py
Now you can exit from Python virtual environment.
1
deactivate
Whenever you are going to run Python scripts which use OpenCV you should activate the virtual environment we created, using workon command.
その他の参照
https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/
http://rndness.com/blog/2018/2/3/installing-opencv-on-ubuntu-1710
https://github.com/BVLC/caffe/wiki/OpenCV-3.3-Installation-Guide-on-Ubuntu-16.04
https://docs.opencv.org/3.4.1/d7/d9f/tutorial_linux_install.html