Ubuntu16.04/18.04下源码编译opencv

目录

1.配置基本C++环境

2.配置opencv依赖项

3.编译opencv

4.添加到系统路径

5.验证是否安装成功

6.查看版本

 

1.配置基本C++环境

sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++

查看g++版本:在终端输入g++ --version,若出现版本号,则说明安装成功

2.配置opencv依赖项

sudo apt-get update
sudo apt-get install vim
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install cmake
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev 
sudo apt-get install libatlas-base-dev 
sudo apt-get install gfortran
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev

3.编译opencv

(1)下载opencv源码:http://opencv.org/releases.html,点击sources,之后便可选择你所需要的版本

(2)进入源码的下载位置,将文件解压

cd Downloads

unzip opencv.zip

这里我习惯将opencv解压到主目录下面,即home/opencv

(3)创建编译文件夹

cd home/opencv
mkdir Release
cd Release

(4)cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

CMAKE_INSTALL_PREFIX=/usr/local ..为opencv的安装路径

在进行这步时很有可能会在下载ippicv时卡住,解决方案请参考:https://blog.csdn.net/qq_43478260/article/details/109458079

(5)make

在make之前先查看一下cpu的核心数,加快编译速度

nproc
sudo make -j48

这里48表示我的cpu有48个核心,等待一段时候,出现Configuration Done即可,

(6)安装

sudo make install

到这里opencv的编译和安装啊就已经结束了,接下来就是配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

4.添加到系统路径

sudo gedit /etc/ld.so.conf.d/opencv.conf 

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib  

执行如下命令使得刚才的配置路径生效

sudo ldconfig  

配置bash

sudo gedit /etc/bash.bashrc  

在文件末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存,执行如下命令使得配置生效

source /etc/bash.bashrc  

更新

sudo updatedb  

5.验证是否安装成功

测试是否安装成功,依次执行一下命令 ,若成功输出,则说明安装成功

cd ..
cd samples
cd cpp
cd example_cmake
cmake .
make
./opencv_example

6.查看版本

查看当前安装好的版本是否与预期的一致

pkg-config --modversion opencv

若出现

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

则按如下操作

cd /usr/local/lib
sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc
sudo vim opencv.pc

然后在opencv.pc中添加以下信息,注意这些信息需要与自己安装opencv时的库路径对应:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version:4.0.1
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core
~                                               

 

保存退出,然后将文件导入到环境变量:

export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

至此就配置好opencv.pc啦~

再执行 pkg-config --cflags --libs opencv时输出结果如下:

-I/usr/local/include/opencv4 -L/usr/local/lib \
-lopencv_shape -lopencv_stitching -lopencv_objdetect \
-lopencv_superres -lopencv_videostab -lopencv_calib3d \
 -lopencv_features2d -lopencv_highgui -lopencv_videoio \
 -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml \
 -lopencv_imgproc -lopencv_flann -lopencv_core

reference:
1.https://blog.csdn.net/sandalphon4869/article/details/94398876#3launchjson_144

2.https://docs.opencv.org/3.4.1/d7/d9f/tutorial_linux_install.html

3.https://blog.csdn.net/PecoHe/article/details/97476135

4.https://blog.csdn.net/u010739369/article/details/79966263

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值