OpenCV学习(一)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
2. 获取openCV源码文件和openCV-contrib扩展模块文件,文章安装了opencv-4.2.0和opencv-contrib-4.2.0文件.
我已将opencv-4.2.0和opencv-contrib-4.2.0文件上传到百度网盘,文末给出了下载方式
3. 在文件opencv-4.2.0新建文件夹build,并设置该目录为当前目录
mkdir build
cd build
4. cmake配置工程的编译环境
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-4.2.0 -D OPENCV_GENERATE_CONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.2.0 ..
CMAKE_INSTALL_PREFIX的含义 : 安装库的存放位置
OPENCV_GENERATE_PKGCONFIG: 存放opencv4.pc,该文件的内容是存放了工程所需要的头文件路径和依赖库路径,这个很重要,因为你不用手动的去添加所需要的头文件路径和依赖库路径,opencv4.pc内容如下图:
这个文件包含了工程的所有头文件路径和依赖库路径 OPENCV_EXTRA_MODULES_PATH的含义:添加扩展库的路径 ,这个扩展库包含了很多重要的库,需要添加到项目.
5. make编译
采用并行编译的方式,首先需要知道你的CPU核心数,
执行: nproc
小编电脑的CPU核心数为12,
执行: make -j12
6. make安装
sudo make install
7. 配置环境变量
执行
sudo gedit /etc/ld.so.conf.d/opencv4.2.0.conf
末尾添加依赖库的路径:
/usr/local/opencv4.2.0/lib
保存退出并更新:
sudo ldconfig
8. 配置bash
执行
sudo gedit /etc/bash.bashrc
在末尾添加PKG_CONFIG_PATH的路径:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3.4.1/lib/pkgconfig PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4.2.0/lib/pkgconfig export PKG_CONFIG_PATH
更新
source /etc/bash.bashrc
sudo updatedb
9. 测试
如下图的test.cpp文件
执行命令,g++编译:
g++ -std=c++11 test.cpp `pkg-config --libs --cflags opencv4` -o result
运行程序 ./result
得到结果:
opencv4.2.0和opencv_contrib-4.2.0文件获取方法:
可扫下方二维码,并回复"opencv安装"即可获得: