Ubuntu系统opencv4.4 opencv_contribute安装常见问题

安装

下载opencv4.0.1及contribute模块

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

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

更换国内源

使用 ubuntu 原生源下载速度,可替换为国内源,提升下载速度

备份 ubuntu 原生源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

使用gedit编辑sources.list文件

sudo gedit /etc/apt/sources.list

将sources.list文件中的内容替换为以下内容,更换为阿里源

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

以上内容仅支持 ubuntu16 ,其他ubuntu版本可自行百度

命令行输入 sudo apt-get update 进行更新

安装cmake及依赖环境

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

sudo apt-get install build-essential qt5-default ccache libv4l-dev libavresample-dev libgphoto2-dev libopenblas-base libopenblas-dev doxygen pylint libvtk6-dev

编译安装Opencv

新建一个文件夹,存放下载的opencv压缩包

mkdir opencv4 cd opencv4

将下载好的压缩包拷贝到opencv4文件夹中

解压opencv压缩包

.tar.gz 结尾的压缩包使用 tar 工具进行解压;.zip 结尾的压缩包使用unzip工具进行解压

tar -zxvf xxxx.tar.gz unzip xxx.zip

 

 

解压完成后查看该目录下的文件

 

进入 opencv-4.0.1 文件夹,新建一个 build 文件夹,用于存放编译过程中产生的文件

cd opencv-4.0.1 mkdir build cd build

在 build 文件夹中编译

在命令行中输入以下内容:

 

 

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH= /home/cht/opencv4/opencv_contrib-4.0.1/modules -D OPENCV_EXAMPLES=ON ..

CMAKE_INSTALL_PREFIX:该选项为opencv安装的目录,可按实际目录进行修改,一般放在/usr/local目录下 OPENCV_GENERATE_PKGCONFIG:打开 pkg-config OPENCV_EXTRA_MODULES_PATH:该选选项为opencv_contrib模块下module文件夹,按实际目录进行修改,若不编译opencv_contrib模块,该选项可以省略 .. :表示CMakeList.txt在上级目录,命令最后的 .. 不能够省略,否则会出现找不到CMakeList.txt

等待 cmake 完成......

cmake 执行过程需要下载一些压缩包,可能由于网络原因下载不下来,导致出错,这时可以删除 build 文件夹下的内容,重新执行 cmake 命令

在 build 文件夹中进行编译,输入 make

 

等待编译完成...

编译完成,输入sudo make install 进行安装

 

配置编译环境

在命令行中输入 gedit ~/.bashrc 打开 ~/.bashrc 文件 在 ~/.bashrc 文件中添加下面一行内容

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

使环境变量生效

输入以下内容

source ~/.bashrc sudo ldconfig

 

使用 pkg-config 进行测试验证

pkg-config --libs --cflags opencv4

 

问题:

1.找不到 feature2d/test/test_detectors_regression.impl.hpp 

原因是没找到这个文件,解决方法如下:

将opencv / modules / features2d复制,然后粘贴到build目录中来解决该问题。

2.出现fatal error: boostdesc_bgm.i: No such file or directory。

自己去github或是其他网站把这些文件下载下来,然后放到opencv_contrib/modules/xfeatures2d/src目录下就可以了。

下载链接:https://github.com/opencv/opencv_contrib/issues/1301

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS2010项目配置详解

首先看一下项目设置中可以使用的宏(环境变量),常用的有: ConfigurationName 配置名字,通常是Debug或者Release IntDir 编译器使用的中间目录,产出obj文件 OutDir 链接器使用的输出目录 ProjectDir 项目目录…

Centos7 下 zabbix服务安装与部署,linux监控服务

客户端安装参考:https://mp.csdn.net/postedit/95475740 安装Zabbix 关闭 SeLinux 临时关闭 setenforce 0 永久关闭 vi /etc/selinux/config 关闭防火墙 临时关闭 systemctl stop firewalld.service 永久关闭 systemctl disable firewalld.service安装基础环…

qt安装

sudo apt-get update sudo apt-get install qt4* sudo apt-get install qtcreator

Zabbix 安装agent

服务端安装参考:https://datamining.blog.csdn.net/article/details/95362947 安装前首先添加对应的yum repository rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install -y zabbix-agent 修改配置文件 …

Bootstrap 导入js文件,浏览器找不到文件问题

html导入文件是用href属性来导入,js利用src属性导入,都可以用相对路径来导入文件,只要确保相对路径正确不会找不到。 绝对路径:是从盘符开始的路径,形如C:\windo绝对路径:是从盘符开始的路径,形…

c/c++ 英语专业词汇表

运算符与表达式: 1.constant 常量 2. variable 变量 3. identify 标识符 4. keywords 关键字 5. sign 符号 6. operator 运算符 7. statement语句 8. syntax 语法 9. expression 表达式 10. initialition 初始化 11. number format 数据格式 12 declara…

ubuntu之间传文件

在文件电脑上操作如下 sftp 用户名ip地址 put 路径/文件名 另一台电脑的home文件夹就用这个文件了

windows 安装 zabbix agent 客户端

下载window客户端 https://assets.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zip 在C盘建立目录 C:/zabbix ,并解压下载文件 修改配置参数 LogFilec:\zabbix\zabbix.log Server服务端ip ServerActive服务端ip Hostnameinstance-2c7t7v(右…

C++面试题(一)

谈谈你所做的项目对网络编程熟悉吗?什么是TCP三次握手?那三次握手做了什么事情,有什么作用?UDP丢包的处理?TCP为什么能实现可靠传输?滑动窗口具体是怎么实现的?你觉得你对哪一些技术最擅长&…

Spark-shell 脚本批量执行命令,命令行批量执行命令

spark-shell 执行脚本&#xff0c;批量执行命令 #!/bin/bashsource /etc/profileexec spark-shell --name spark-sql-test --executor-cores 8 --executor-memory 8g --num-executors 1 --conf spark.cleaner.ttl240000 <<!EOF var startTime System.currentTimeM…

vins学习

1.https://cggos.github.io/vinsmono-note-cg.html 2.https://github.com/cggos/vins_mono_cg/blob/master/docs/vinsmono_note_cg.pdf

TCP滑动窗口机制

TCP通过滑动窗口机制检测丢包&#xff0c;并在丢包发生时调整数据传输速率。滑动窗口机制利用数据接收端的接收窗口来控制数据流。 接收窗口值由数据接收端指定&#xff0c;以字节数形式存储于TCP报文头&#xff0c;并告知传输设备有多少数据将会存储在TCP缓冲区。缓冲区就是数…

NLP文本相似度 - LCS(最长公共子序列)java代码

LCS是Longest Common Subsequence的缩写&#xff0c;即最长公共子序列。一个序列&#xff0c;如果是两个或多个已知序列的子序列&#xff0c;且是所有子序列中最长的&#xff0c;则为最长公共子序列。 比如&#xff0c;对于char x[]"aabcd";有顺序且相互相邻的aabc是…

MTU最大传输单元

最大传输单元&#xff08;Maximum Transmission Unit&#xff0c;MTU&#xff09;是指一种通信协议的某一层上面所能通过的最大数据报大小&#xff08;以 字节 为单位&#xff09;。最大传输单元这个参数通常与 通信接口 有关&#xff08;网络接口卡、串口等&#xff09;。

CDH中文文档下载,Cloudera中文手册,CM中文文档

CDH中文文档下载 链接&#xff1a;https://pan.baidu.com/s/1G-8WCafpPZ3p7ZDeXLcgug 提取码&#xff1a;ubxz

ERROR: cuda_runtime_api.h: No such file or directory

include_directories(/usr/local/cuda/include) link_directories(/usr/local/cuda/lib64)

关于TCP的粘包问题

简单的说就是通过TCP协议发送了多条独立的数据&#xff0c;但接收的时候&#xff0c;有些数据不幸的合并成了一个。比如客户端向服务器发送两个命令&#xff1a;”Start”、”Parameter[x.x.x]”&#xff0c;第一个命令的含义是开始&#xff0c;第二个命令的含义是启动参数。但…

运行第一个node.js文件

安装node.js 链接:https://nodejs.org/en/ 选择downloads 再选择对应的版本&#xff0c;Windows Installer (.msi)&#xff1a;表示需要安装后才能运行node.js文件,安装完后在(cmd)控制台输入node -v查看版本&#xff0c;不用配置环境安装完成后自动配置。Windows Binary (.zip…

spark异常 - Null value appeared in non-nullable field

主要代码如下 val rddsc.newAPIHadoopRDD(hBaseConf, classOf[TableInputFormat], classOf[ImmutableBytesWritable],classOf[Result])import spark.implicits._val value :RDD[UserSchemaClass] rdd.map(convertHive)val tempDS value .toDF()tempDS.createTempView("te…

关于回调函数

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另一个函数&#xff0c;当这个指针被用来调用其所指向的函数时&#xff0c;我们就说这是回调函数。回调函数不是由该函数的实现方直接调用&#xff0c;而是在特定的事件…