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. gRPC 入门(一)

    前言 在学习 gRPC 之前,先学习 protobufu 协议,简单的来理解,我们可以使用他来定义 消息 和 服务.然后你只需要实现服务即可,剩下的东西,gRPC 会帮你自动完成. protobufu ...

  2. 转载-GNSS缩写

    GNSS常用的缩略语汇总,可能不全,但会不断丰富,欢迎各位批评指正!! 1|01.大表格 缩略语 全称 中文 ADOP ambiguity dilution of precision 模糊度精度因子 ...

  3. 传递数据(props)

    student.vue <template> <div> <h3>{{msg}}</h3> <h3>姓名:{{name}}</h3&g ...

  4. postgresql源码解读

    大量模块源码解读 https://blog.csdn.net/cuichao1900?type=blog 存储管理(内存管理.外存管理)源码解读,每行都有注释 https://blog.csdn.ne ...

  5. 日志服务器 nagios log server

    官网 https://www.nagios.com/products/ 可官网下载手动安装也可命令安装 命令安装 cd /tmp wget https://assets.nagios.com/down ...

  6. Vue + Element table的@select方法获取当table中的id值都相同时,获取他们索引

    先说下问题情况,原本通过双重forEach方法方法,遍历可以获取到被勾选中的索引. let arr = []val.forEach((val, index) => { this.TableDat ...

  7. py13函数迭代器与生成器

    """什么是迭代器 迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 为什么要用 迭代器给你提供了一种不依赖于索引取值的方式 如何用 ...

  8. Unity Prefab(预制体)一次性循环10个会得到同样的

    IEnumerator Test1() { for(int i = 0;i < 5;i++) { GameObject gb = (GameObject)Resources.Load(" ...

  9. MySQL时区的问题

    我这里是在application.properties文件中配置的MySQL连接信息. 开始时间显示不征程是因为没有配置时区,后来加上了setTimeZone=Asia/Shanghai,时间显示正常 ...

  10. FileStream与StreamReader区别

    FileStream操作字节,更适合大文件. StreamReader操作字符,更适合小文件