1.下載opencv3.4.0及opencv3.4.0_contrib
opencv和opencv_contrib下載地址:
https://github.com/opencv/opencv/releases
https://github.com/opencv/opencv_contrib/releases
將opencv3.4.0及opencv3.4.0_contrib解壓,將opencv3.4.0_contrib的檔案夾放到opencv3.4.0的檔案夾中.
2.編譯安裝opencv
(1).安裝依賴
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
如果有報錯說libjaster-dev無法安裝,解決辦法如下:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
(2).新建build檔案夾進行編譯
先設定路徑檔案:
sudo mkdir /usr/local/opencv3.4.0
在解壓的opencv3.4.0檔案下新建build檔案夾并打開執行:
cmake -DOPENCV_EXTRA_MODULES_PATH=/home/xxx/opencv-3.4.0/opencv_contrib-3.4.0/modules -DBUILD_opencv_legacy=OFF /home/xxx/opencv-3.4.0 -D ENABLE_PRECOMPILED_HEADERS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.0 -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
注意: 上面-D OPENCV_EXTRA_MODULES_PATH路徑需要改成自己opencv_contrib下modules 的路徑
其實,可以認真閱讀opencv_contrib下README.md的解釋:
$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5
在執行make時會有以下報錯和解決方法:
報錯1:
Could not find a package configuration file provided by "Qt5Concurrent"with any of the following names:
Qt5ConcurrentConfig.cmake
qt5concurrent-config.cmake
解決:sudo apt-get install libqglviewer-dev-qt5
報錯2:
ICV: Failed to download ICV package: ippicv_linux_20151201.tgz.
解決:網速不行,自行下載ippicv_linux_20151201.tgz(博客上一大堆下載地址)并替換./opencv-3.4.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e下的檔案.
報錯3:
fatal error: boostdesc_bgm.i: 沒有那個檔案或目錄
#include "boostdesc_bgm.i"
解決:https://blog.csdn.net/u011736771/article/details/85960300,下載你缺失的檔案,并放到~/opencv_contrib/modules/xfeatures2d/src/下.
報錯4:
fatal error: opencv-3.4.0/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 沒有那個檔案或目錄
# include "opencv2/xfeatures2d/cuda.hpp
解決:找到matchers.hpp檔案,將對應的頭檔案地址修改為絕對路徑:
/home/xxx/opencv-3.4.0/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp
以及在opencv-3.4.0/modules/stitching的cmakelists添加絕對路徑:
INCLUDE_DIRECTORIES("/home/xxx/opencv-3.4.0/opencv_contrib-3.4.0/modules/xfeatures2d/include")
最后:
make -j4
sudo make install
3.配置OpenCV的編譯環境
目的是讓系統找到OpenCV的庫的路徑,打開撰寫一個空白的檔案opencv.conf:
sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf中添加如下內容:
/usr/local/opencv3.4.0/lib
保存并關閉檔案,使剛配置路徑生效:
sudo ldconfig
打開bash檔案,配置bash:
sudo gedit /etc/bash.bashrc
在打開的bash.bashrc的最末尾添加如下代碼:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3.4.0/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv3.4.0/lib
保存關閉檔案,使剛才的配置生效:
source /etc/bash.bashrc
用一個小程式測驗一下
到opencv-3.4.0/samples/cpp/example_cmake目錄下
我們可以看到這個目錄里官方已經給出了一個cmake的example我們可以拿來測驗下
cmake .
make
./opencv_example
如果成功運行了電腦攝像頭則安裝成功.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291387.html
標籤:其他
上一篇:影像平滑(邊緣檢測)
