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. undefined reference to symbol xxxxx和undefined symbol:xxxx错误的原因分析以及解决方法

    Linux下编译程序时,经常会遇到"undefined reference to XXX" 报错,或者运行时出现undefined symbol:xxxx报错. 这里总结一些可能的 ...

  2. 关于右值 std::move

    今天发现一个情况,对容器map 进行 std::move 之后,原map被清空了.     map<int, int> tmp;     tmp[1] = 1;     tmp[2] = ...

  3. 解决问题mount.nfs: Stale file handle

    原因出现在,机器1挂载了机器2的一个盘,然后机器2重启了,然后机器1变成没有响应的状态,然后卸载了机器1的对于这个盘的挂载,然后就一直挂不上,提示mount.nfs: Stale file handl ...

  4. pip安装清华源

    一.更换PIP源PIP源在国外,速度慢,可以更换为国内源,以下是国内一些常用的PIP源. 豆瓣(douban) http://pypi.douban.com/simple/ (推荐)清华大学 http ...

  5. jabc连接数据库

    Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.JD ...

  6. PyTables学习 (数据保存形式,对象树结构)

    参考自http://www.pytables.org/usersguide/introduction.html PyTables的主要目的是提供一个好的操作HDF5文件的方法. HDF文件是分层数据格 ...

  7. HttpClient常用的一些常识

    HttpClient是目前我们通讯组件中最常见的一个Api了吧.至少从我目前接触到与外部系统通讯的话是这样的.下面我将我自己常用的一些知识总结一下. 因为本猿也是边写边总结,有啥不对的还望多多指出. ...

  8. css设置背景图(背景图太大导致图片显示不全)

    .bg{background:url('/back.png');filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizi ...

  9. 【Quartus系列】实验一: 3-8译码器(原理图输⼊设计)

    实验一: 3-8译码器(原理图输⼊设计) ⼀:实验⽬的 1. 了解3-8译码器的电路原理,掌握组合逻辑电路的设计⽅法 2. 掌握QuartusII软件原理图输⼊设计的流程 ⼆:实验内容 2.1设计输⼊ ...

  10. mybatis-属性名和查询字段名不相同的解决方案

    1.使用别名 resultType可以将查询结果直接映射为实体bean对象的条件是,sql查询的字段名和实体bean的属性名一致,通过反射机制完成对象的创建. select tid id,tname ...