OpenCV学习(一)opencv源码安装

本文详细介绍了如何在Ubuntu系统上安装OpenCV 4.2.0及其扩展模块,包括必要的软件包安装、源码获取、编译配置、环境变量设置及测试步骤。

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安装"即可获得:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值