Ubuntu【系统环境下】【编译安装OpenCV】【C++调用系统opencv库】
前言:
本人需要用C++写代码,调用OpenCV库,且要求OpenCV版本号大于4.1.0
由于使用的是18.04的版本,所以apt安装OpenCV的版本始终是3.2.0,非常拉胯!!!
所以只能重新编译安装OpenCV
命令工具
- 查看当前C++调用的OpenCV代码
# include "opencv2/opencv.hpp" using namespace cv; int main(){ printf(CV_VERSION); }
- apt 安装 OpenCV
sudo apt install libopencv-dev
- apt 安装 OpenCV 并与系统python环境关联
sudo apt update
sudo apt-get install python-opencv
是安装在python2 上的
sudo apt-get install python3-opencv
是安装在python3 上的 - 查看系统当前的OpenCV版本号(是系统的哦!)
pkg-config opencv --modversion
pkg-config --modversion opencv4
可以看到,多个OpenCV版本可以共存 - 查看python环境下的OpenCV版本
python3 -c "import cv2; print(cv2.__version__)"
编译安装
- 下好opencv和opencv_contrib,版本要一致,查看版本号
git checkout <opencv-version>
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev
- 在opencv的那个库里
mkdir build && cd build
- OK,现在一定要将自己的conda环境退出来,进入系统环境。
- 这里记得改掉opencv_contrib的路径
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..
make -j36
sudo make install
pkg-config --modversion opencv4
python3 -c "import cv2; print(cv2.__version__)"
报错解决:
Ubuntu 18.04 在安装OpenCV4.6.0时遇到“opencv2/gapi.hpp: No such file or directory“ 解决方法
进入到 /opencv4.6.0/samples/cpp/CMakelists.txt 文件目录下,打开 CMakelists.txt 文件,在其中添加 opencv_gapi 指令,具体添加如下图所示