opencv3。4安裝出錯
https://www.samontab.com/web/2017/06/installing-opencv-3-2-0-with-contrib-modules-in-ubuntu-16-04-lts/
Installing OpenCV 3.2.0 with contrib modules in Ubuntu 16.04 LTS
OpenCV 3.2.0 has been out for a while and contains many improvements and exciting new features, so it’s time to update this guide using the latest Ubuntu 16.04LTS
A big change in OpenCV 3.2.0 is that now many of the newest algorithms now reside separately in the contrib repository.
Some of these modules include Face Recognition, RGB-Depth processing, Image Registration, Saliency, Structure From Motion, Tracking, and much more.
So let’s install OpenCV 3.2.0
01 |
sudo apt-get update |
02 |
sudo apt-get upgrade |
03 |
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev |
04 |
cd ~ |
05 |
mkdir opencv |
06 |
cd opencv |
07 |
wget https://github.com/opencv/opencv/archive/3.2.0.tar.gz |
08 |
tar -xvzf 3.2.0.tar.gz |
09 |
wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip |
10 |
unzip 3.2.0.zip |
11 |
cd opencv-3.2.0 |
But before we build it, we need to fix one problem currently present in the contrib modules, specifically in the freetype module, which allows you to draw UTF-8 strings. If you are getting an error similar to ImportError: /usr/local/lib/libopencv_freetype.so.3.2: undefined symbol: hb_shape, this will fix it:
1 |
sed -i 's/${freetype2_LIBRARIES} ${harfbuzz_LIBRARIES}/${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES}/g' ../opencv_contrib-3.2.0/modules/freetype/CMakeLists.txt |
Since now that problem is solved, now we are ready to build OpenCV.
01 |
mkdir build |
02 |
cd build |
03 |
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON .. -DCMAKE_BUILD_TYPE=RELEASE -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules .. |
04 |
make |
05 |
sudo make install |
06 |
echo '/usr/local/lib' | sudo tee --append /etc/ld.so.conf.d/opencv.conf |
07 |
sudo ldconfig |
08 |
echo 'PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig' | sudo tee --append ~/.bashrc |
09 |
echo 'export PKG_CONFIG_PATH' | sudo tee --append ~/.bashrc |
10 |
source ~/.bashrc |
Now you should be able to compile with the OpenCV libraries, including the contrib repositories.
For example, let’s compute some Fine-Grained Saliency, which is available in the saliency module of the contrib repository:
1 |
cd ~ |
2 |
mkdir saliency |
3 |
cd saliency |
4 |
cp ../opencv/opencv_contrib-3.2.0/modules/saliency/samples/computeSaliency.cpp . |
5 |
cp ../opencv/opencv-3.2.0/samples/data/Megamind.avi . |
6 |
g++ -o computeSaliency `pkg-config opencv --cflags` computeSaliency.cpp `pkg-config opencv --libs` |
7 |
./computeSaliency FINE_GRAINED Megamind.avi 23 |
Posted in Image Processing, Open Source, Programming.