Ubuntu系统opencv4.4 opencv_contribute安装常见问题
安裝
下載opencv4.0.1及contribute模塊
https://github.com/opencv/opencv/releases/tag/4.0.1
https://github.com/opencv/opencv_contrib/releases/tag/4.0.1
更換國內源
使用 ubuntu 原生源下載速度,可替換為國內源,提升下載速度
備份 ubuntu 原生源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
使用gedit編輯sources.list文件
sudo gedit /etc/apt/sources.list
將sources.list文件中的內容替換為以下內容,更換為阿里源
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
以上內容僅支持 ubuntu16 ,其他ubuntu版本可自行百度
命令行輸入 sudo apt-get update 進行更新
安裝cmake及依賴環境
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
sudo apt-get install build-essential qt5-default ccache libv4l-dev libavresample-dev libgphoto2-dev libopenblas-base libopenblas-dev doxygen pylint libvtk6-dev
編譯安裝Opencv
新建一個文件夾,存放下載的opencv壓縮包
mkdir opencv4 cd opencv4
將下載好的壓縮包拷貝到opencv4文件夾中
解壓opencv壓縮包
.tar.gz 結尾的壓縮包使用 tar 工具進行解壓;.zip 結尾的壓縮包使用unzip工具進行解壓
tar -zxvf xxxx.tar.gz unzip xxx.zip
?
?
解壓完成后查看該目錄下的文件
?
進入 opencv-4.0.1 文件夾,新建一個 build 文件夾,用于存放編譯過程中產生的文件
cd opencv-4.0.1 mkdir build cd build
在 build 文件夾中編譯
在命令行中輸入以下內容:
?
?
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH= /home/cht/opencv4/opencv_contrib-4.0.1/modules -D OPENCV_EXAMPLES=ON ..
CMAKE_INSTALL_PREFIX:該選項為opencv安裝的目錄,可按實際目錄進行修改,一般放在/usr/local目錄下 OPENCV_GENERATE_PKGCONFIG:打開 pkg-config OPENCV_EXTRA_MODULES_PATH:該選選項為opencv_contrib模塊下module文件夾,按實際目錄進行修改,若不編譯opencv_contrib模塊,該選項可以省略 .. :表示CMakeList.txt在上級目錄,命令最后的 .. 不能夠省略,否則會出現找不到CMakeList.txt
等待 cmake 完成......
cmake 執行過程需要下載一些壓縮包,可能由于網絡原因下載不下來,導致出錯,這時可以刪除 build 文件夾下的內容,重新執行 cmake 命令
在 build 文件夾中進行編譯,輸入 make
?
等待編譯完成...
編譯完成,輸入sudo make install 進行安裝
?
配置編譯環境
在命令行中輸入 gedit ~/.bashrc 打開 ~/.bashrc 文件 在 ~/.bashrc 文件中添加下面一行內容
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
使環境變量生效
輸入以下內容
source ~/.bashrc sudo ldconfig
?
使用 pkg-config 進行測試驗證
pkg-config --libs --cflags opencv4
?
問題:
1.找不到 feature2d/test/test_detectors_regression.impl.hpp?
原因是沒找到這個文件,解決方法如下:
將opencv / modules / features2d復制,然后粘貼到build目錄中來解決該問題。
2.出現fatal error: boostdesc_bgm.i: No such file or directory。
自己去github或是其他網站把這些文件下載下來,然后放到opencv_contrib/modules/xfeatures2d/src目錄下就可以了。
下載鏈接:https://github.com/opencv/opencv_contrib/issues/1301
總結
以上是生活随笔為你收集整理的Ubuntu系统opencv4.4 opencv_contribute安装常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业需要的C++程序员
- 下一篇: win10(UEFI)和Ubuntu双系