0查看当前版本安装

opencv_version

  

已经装了3.49 再装个4.4共存

1安装依赖库

 sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libopenexr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install python-dev-is-python3 python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev

  

$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev build-essential mlocate
$ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
$ sudo apt update
$ sudo apt install libjasper1 libjasper-dev

  

2下载

 mkdir ~/opencv && cd ~/opencv
git clone https://gitee.com/yxd.osc.com/opencv.git
git clone https://gitee.com/yxd.osc.com/opencv_contrib.git
mkdir build && cd build

  手动官网下载 自己改版本号

https://github.com/opencv/opencv/releases/tag/3.4.9

https://github.com/opencv/opencv_contrib/releases/tag/3.4.9

 

3配置camke

安装cmake
sudo apt-get install -y cmake-gui 打开
cmake-gui

  

设置编译源码路径

设置生成build路径

选择完毕点击Configure,然后会弹出编译器选项,选择Unix Makefiles即可。

配置完毕如下图所示:

3-2 设置参数

(1)是否开启cuda 一般不用

(2)添加扩展库  注意路径 /  moudles文件夹

(3)添加扩展库 中的专利模块

(4)world库  不要

自己的的选择。不要选择,选择了其他分库就很难找到了,相当于所有的库全部变成一个world库,有些工程是单独依赖某一个库合并之后找不到了

(5)选择编译版本

Release

(6)是否编译python可用的版本(默认选了,但是可不用,python单独安装)

为了加速编译,这里去掉了。

 

(7) 不要java(默认有 根据需求)

(7)设置 make install 路径

多版本共存的重点

(8)其他选择 加速编译可去掉

-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \

开始生成

 4开始编译

在build文件夹下面

sudo make -j6

  

开始安装

sudo make install

  

5注册opencv到系统环境

查看当前本版

opencv_version

  

多版本OpenCV切换

自己前面设置的opencv4.4 make install 位置

/home/dongdong/v1_Sorfware/V31_opencv/opencv44/install

  

打开~/.bashrc

sudo gedit ~/.bashrc

在文件末尾增加以下内容

  

export PKG_CONFIG_PATH=/home/dongdong/v1_Sorfware/V31_opencv/opencv44/install/lib/pkgconfig
export LD_LIBRARY_PATH=/home/dongdong/v1_Sorfware/V31_opencv/opencv44/install/lib

参考

export PKG_CONFIG_PATH='/usr/local/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH'
export LD_LIBRARY_PATH='/usr/local/opencv4/lib'

  

更新~/.bashrc

source ~/.bashrc

如果输出3.4.1,就表明配置成功。
如果想使用之前的版本,在~/.bashrc中注释掉增加的内容,然后source ~/.bashrc即可。

camkelist使用

如果只有一个版本的OpenCV,在CMakeList.txt中使用以下语句即可。

FIND_PACKAGE(OpenCV REQUIRED)

  

在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。

如果存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。
示例如下:

cmake_minimum_required(VERSION 2.8.3)
project(vins) #指定opencv路径版本
set(OpenCV_DIR "/home/dongdong/v1_Sorfware/V31_opencv/opencv44/opencv/build") #自动根据OpenCV_DIR查找库
find_package(OpenCV REQUIRED) #输出opencv信息
message(WARNING "OpenCV_VERSION: ${OpenCV_VERSION}")
message(STATUS "OpenCV library status:")
message(STATUS " config: ${OpenCV_DIR}")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")

  编译时输出

报错处理

报错1 一些关于opencv报错

#include<opencv2/imgproc/types_c.h>

ubuntu20安装open4.4带扩展库的更多相关文章

  1. Linux下安装PHP的lua扩展库

    一.安装Lua 5.3.4 下载 http://www.lua.org/ftp/lua-.tar.gz tar xvf lua-.tar.gz cd lua- 重要:进入解压缩后的路径 cd .../ ...

  2. Python之安装第三方扩展库

    PyPI 地址:https://pypi.python.org/pypi 如果你知道你要找的库的名字,那么只需要在右上角搜索栏查找即可. 1.pip安装扩展库 (1)安装最新版本的扩展库: cmd&g ...

  3. 安装php扩展库

    无法加载'pdo_mysql' ,因为需要pdo这个module.PHP Warning: Cannot load module 'pdo_mysql' because required module ...

  4. window下python 扩展库安装 使用第三方镜像源

    0.前言     由于python的官方镜像位于国外,若使用pip或者easy_install安装第三方插件时或许会被限制,甚至连easy_install或pip也无法安装,例如在windows环境下 ...

  5. php下安装动态扩展库的相关事项

    php下安装动态扩展库的相关事项 我下载的Apache版本为2.4,PHP版本为7.0. 将Apache与PHP集成配置好后(PHP安装目录为:G:\computer\web\php7,apache安 ...

  6. epel扩展库的安装

    epel扩展库的安装 2017-10-09  18:07:48 个人原创,转载请注明作者,出处,否则追究法律责任 1,centos6.x系统中,必需安装epel-release-6-8.noarch. ...

  7. Python环境——安装扩展库

    一.修改easy_install源 在操作用户家目录添加一个文件 cat >> ~/.pydistutils.cfg <<EOF [easy_install] index-ur ...

  8. RobotFramework安装扩展库包autoitlibrary(四)

    Robot Framework扩展库包 http://robotframework.org/#libraries 一,自动化测试PC端程序 1,  安装pywin32(autoitlibrary使用需 ...

  9. RobotFramework安装扩展库包Selenium2Library(三)

    Robot Framework扩展库包 http://robotframework.org/#libraries 一,自动化测试web端 1,pip安装SeleniumLibrary pip inst ...

  10. PHP基础库及扩展库安装

    一.安装PHP所需的lib库(基础库): 1.yum install zlib-devel libxml2-devel libjpey-devel libjpeg-turbo-devel libico ...

随机推荐

  1. python_lib_0001_decorator_print_log

    def decorator_log_funcname( func ):     def wrapper(*arg, **kw):         print("")         ...

  2. 掌控安全学院SQL注入靶场

    注入的本质:用户输入的字符被带入数据库中并且执行了 靶场地址:http://inject2.lab.aqlab.cn/ 第六关:http://inject2.lab.aqlab.cn/Pass-06/ ...

  3. ES6-Class类下

    前面super的源码: 查看代码 <script> // 1.作为函数调用 // 代表父类的构造方法,只能用在子类的构造方法中,用在其他地方就会报错 // super 虽然代表了父类的构造 ...

  4. ES6-新增方法

    一.字符串的新增方法 1.includes方法(实例的方法): 应用: 代码优化: (1)先使用includes方法判断是url中否包含? (2)如果包含?, 再判断url最后一位字符是不是?或&am ...

  5. linux升级系统内核版导致死锁

    如上图片,官方说明为linux内核版本过低,存在系统bug,具体说明如下: https://baijiahao.baidu.com/s?id=1652492237858209875&wfr=s ...

  6. windos下激活python虚拟环境

    1.从终端中找到解释器的目录 2.cd到Scripts,输入激活命令activate  这样就表示激活成功了

  7. c++ 引用 指针。

    一.什么是引用(reference) ?已经存在的对象的另外一个名字. 引用有什么特别的? 1.引用在定义时,以&开头. 2.引用不是对象,只能绑定在对象上.所以必须在初始化的时候,指定引用绑 ...

  8. 面试之CAS

    1.CAS(Compare And Swap)比较并替换,是线程并发运行时用到的一种技术或者算法,CAS与之对应的是一些锁技术,,例如synconozied,同事这种比较替换的思想也可以运用到数据库上 ...

  9. IntelliJ IDEA修改系统缓存目录

    IntelliJ IDEA修改系统缓存目录 博客分类: intellij IDEA使用 IntelliJ IDEAIDEA缓存  阅读更多 intellij IDEA在第一次启动时,会在${user. ...

  10. download links

    1 anaconda https://mirrors.bfsu.edu.cn/anaconda/archive/