opencv3.2.0/opencv4.3.0
# 从github上直接下载或者clone
$ wget https://github.com/opencv/opencv/archive/3.2.0.zip
$ wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
先安装依赖
$ sudo apt-get install build-essential pkg-config libgtk2.0-dev python-dev python-numpy python3-dev python3-numpy \
libavcodec-dev libavformat-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev libswscale-dev libjasper-dev libtbb-dev
$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
$ sudo apt-get update
$ sudo apt-get upgrade
补充
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
$ sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt-get install libdc1394-22-dev libgphoto2-dev libavresample-dev
mkdir build
cd build
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D WITH_QT=ON \
-D WITH_IPP=OFF \
-D WITH_OPENGL=ON \
-D BUILD_EXAMPLES=ON ..
踩坑之路
0. 安装依赖库
1. 修改QT相关的cmake配置(https://blog.csdn.net/m0_37329302/article/details/79969884)
ERROR_log:其中有涉及到QT的配置,可以考虑直接apt装一个qt5-base,但如果装了QT,就不要这么搞了,指定一下cmake里面的QT环境即可
Could not find a package configuration file provided by "QT5Core" with any
of the following names:
QT5CoreConfig.cmake
QT5core-config.cmake
Add the installation prefix of "QT5Core" to CMAKE_PREFIX_PATH or set
"QT5Core_DIR" to a directory containing one of the above files. If
"QT5Core" provides a separate development package or SDK, be sure it has
been installed.
修改文件opencv/cmake/OpenCVFindLibsGUI.cmake
15 ocv_clear_vars(HAVE_QT HAVE_QT5)
+ 16 SET(CMAKE_PREFIX_PATH /opt/Qt5.14.2/5.14.2/gcc_64/lib/cmake)
+ 17 SET(CMAKE_AUTOMOC ON)
18 if(WITH_QT)
19 if(NOT WITH_QT EQUAL 4)
2. 将缺少的文件复制到opencv_contrib/modules/xfeatures2d/src文件夹下即可
主要有boostdesc* vgg_generated* generated_*等文件
make -j4
sudo make install
环境配置
将OpenCV的库添加到路径,从而可以让系统找到
sudo vim /etc/ld.so.conf.d/opencv.conf
在文件末尾添加
/usr/local/lib
生效配置文件
sudo ldconfig
sudo ldconfig -v
配置 ~/.bashrc
# method 1 #
# OpenCV #
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# method 2 #
# OpenCV #
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
测试
进入opecv的 samples/cpp/example_cmake 执行如下
cmake .
make
./opencv_example
检测OpenCV版本:
$ pkg-config --modversion opencv
OpenCV相关补充:
OpenCV编译相关所需头文件及链接的库路径
$ pkg-config --modversion opencv
3.2.0
$ pkg-config --cflags opencv
-I/usr/local/include/opencv -I/usr/local/include
$ pkg-config --libs opencv
-L/usr/local/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_cvv -lopencv_dpm -lopencv_freetype -lopencv_fuzzy -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face -lopencv_plot -lopencv_dnn -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core
ubuntu下编译OpenCV程序的方法
$ g++ test.cpp `pkg-config --libs --cflags opencv` -o test
特别注意:命令中 ` 不是单引号,是键盘上1前面的波浪号
附带:python下安装OpenCV方法
$ pip install opencv-python
$ pip install opencv-contrib-python