一: ubuntu 18.04 python 3.7安裝opencv4.2.0、
1.安裝依賴包
[required] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下載OpenCV 4.2.0和OpenCV Contrib 4.2.0
|
假如將兩個壓縮包保存到/home/username/opencv4.2/
,進行解壓;
另外,在編譯的時候需要ippicv_2019_lnx_intel64_general_20180723.tgz
這個文件,下載的時候會特別慢。這裏提供一個鏈接,參考其中的第1,2兩個步驟進行下載與配置;
如,我將下載得到的文件放在了opencv4.2
這個文件夾中,修改成"/home/username/opencv4.2/"
;
目錄結構如下:
/home/username/opencv4.2/目錄下有
opencv-4.2.0/
opencv_contrib-4.2.0/
ippicv_2019_lnx_intel64_general_20180723.tgz
3. Building OpenCV from Source Using CMake (使OpenCV能CUDA加速)
支持使用CUDA對DNN模塊進行加速計算,所以這裏配置CUDA
cd /home/username/opencv4.2/opencv-4.2.0
mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DINSTALL_C_EXAMPLES=ON \
-DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib-4.2.0 目錄>/modules\
-DBUILD_EXAMPLES=ON ..
4. 使用make構建庫
查看CPU核心數:
nproc
如,我的CPU核心數爲12,執行
cd /home/username/opencv4.2/opencv-4.2.0/build
sudo make -j12
等待一段時候,出現Configuration Done
即可,
執行:
sudo make install
5. 配置環境變量
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加如下內容,並保存:
/usr/local/lib
配置庫
sudo ldconfig
6. 添加修改環境變量
sudo gedit /etc/bash.bashrc
在末尾添加如下內容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
重啓系統
reboot
測試安裝情況,查看安裝版本
pkg-config opencv4 --modversion
# or
pkg-config --cflags --libs opencv4
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv4.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv4' found
二:報錯解決方案
1. 安裝 libgtk2.0-dev
sudo apt-get install libgtk2.0-dev
報錯如下:
The following packages have unmet dependencies:
libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed
Depends: libcairo2-dev (>= 1.6.4-6.1) but it is not going to be installed
解決方案 一:
1、修改配置Software Sources:
ubuntu 中打開Software & Updates(界面如下), 勾選Important security updates 和Recommended updates 選項。
2、 更新apt-get,並安裝libgtk2.0-dev
sudo apt-get update
sudo apt-get install libgtk2.0-dev
2、安裝 libjasper-dev:
在安裝libjasper-dev依賴包的過程中錯誤如下:
E: Unable to locate package libjasper-dev
執行:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
再次執行安裝依賴包;