Ubuntu 18.04 安装OpenCV C++

Ubuntu 18.04 安装OpenCV C++

构建并安装

仅构建核心模块

# 更新并安装依赖
# 更新并安装依赖
sudo apt update && sudo apt install -y cmake g++ wget unzip# 下载并解压包
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
unzip opencv.zip# 创建构建目录
mkdir build# 配置
cmake  ../opencv-master# 编译
cmake --build . -j20

含有opencv-contrib构建

# 更新并安装依赖
sudo apt update && sudo apt install -y cmake g++ wget unzip# 下载并解压包
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
unzip opencv.zip
unzip opencv_contrib.zip# 创建并进入编译目录
mkdir -p build && cd build# 配置
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master# 编译
cmake --build . -j20

安装

构建完成之后,还需要进行安装,直接在build目录下安装即可:

sudo make install

默认情况下,OpenCV 将安装到该/usr/local目录,所有文件将被复制到以下位置:

  • /usr/local/bin - 可执行文件
  • /usr/local/lib - lib (.so) 共享库
  • /usr/local/cmake/opencv4 - cmake 包
  • /usr/local/include/opencv4 - 头文件
  • /usr/local/share/opencv4 - 其他文件(例如 XML 格式的训练级联)

由于/usr/local由 root 用户拥有,因此需要 sudo执行安装。

测试是否安装成功

我们简单地用Canny边缘检测算子来验证OpenCV的安装是否成功。

创建并进入一个测试目录:

mkdir demo && cd demo

并在demo目录随意放一张测试图像demo.jpg

创建CMakeLists.txt文件并写入以下内容:

cmake_minimum_required(VERSION 2.8)
project( demo )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( demo demo.cpp )
target_link_libraries( demo ${OpenCV_LIBS} )

创建demo.cpp文件并写入以下内容:

#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char** argv){Mat img = imread("./demo.jpg");Mat DstPic, edge, grayImage;DstPic.create(img.size(), img.type());cvtColor(img, grayImage, COLOR_BGR2GRAY);blur(grayImage, edge, Size(3, 3));//运行canny算子Canny(edge, edge, 3, 4, 3);imwrite("Canny.jpg", edge);
}

然后执行:

cmake .
make
./demo

可以在demo目录下看到原图和边缘图像:

在这里插入图片描述
在这里插入图片描述

将OpenCV目录添加到环境变量

想要在任何目录下使用opencv,需在cmake之前将opencv的build目录添加到环境变量OpenCV_DIR

export OpenCV_DIR=[YOUR_PATH]/build

Ref:

https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

https://blog.csdn.net/weixin_43953829/article/details/96473891

https://blog.csdn.net/qq_41323996/article/details/109469148?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163297708716780255277403%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163297708716780255277403&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-109469148.pc_search_ecpm_flag&utm_term=%E5%8F%B2%E4%B8%8A%E6%9C%80%E5%85%A8OpenCV%E5%AE%89%E8%A3%85%E5%8F%8A%E9%94%99%E8%AF%AF%E8%A7%A3%E5%86%B3&spm=1018.2226.3001.4187
https://stackoverflow.com/questions/8711109/could-not-find-module-findopencv-cmake-error-in-configuration-process

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

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

相关文章

html计算x的y,HTML5画布:旋转时计算x,y点

我开发了一个HTML5 Canvas应用程序&#xff0c;它涉及到读取一个xml文件&#xff0c;该文件描述了需要在画布上绘制的箭头&#xff0c;直形和其他形状的位置。的XML布局的HTML5画布&#xff1a;旋转时计算x&#xff0c;y点实施例&#xff1a;如果对象被旋转它涉及计算一个点的位…

(2021) 20 [虚拟化] 进程调度

(2021) 20 [虚拟化] 进程调度 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p20 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/11.slides#/ 背景 — 机制与策略分离 机制&#xff1a;一个通用的、可定制…

计算机组装过程英文版,计算机组装与维护试题及答案(国外英文资料).doc

计算机组装与维护试题及答案(国外英文资料)计算机组装与维护试题及答案(国外英文资料)(1) choiceIn the following equipment, the input device is (b)A. b. b. c. c. c. d. d.In Windows 98, the combination of CTRL Alt Del is (c)A. cold start b. heat start c. interr…

make命令及makefile

make命令及makefile 转自&#xff1a;https://www.ruanyifeng.com/blog/2015/02/make.html Make 命令教程 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年2月20日 代码变成可执行文件&#xff0c;叫做编译&#xff08;compile&#xff09;&#xff1b;先编译这个&#…

局域网中计算机网络密码查看,Win10怎么查看电脑上已知的wifi网络密码

方法一&#xff1a;网络和共享中心查询1、在Windows 10桌面最左下角的【Windwos开始图标上右键】&#xff0c;在弹出的菜单中点击打开【网络连接】&#xff0c;如下图所示。2、在打开的网络连接设置中&#xff0c;双击已经连接的【无线网络名称】&#xff0c;在弹出的【WLAN状态…

(2021) 22 [持久化] 1-Bit的存储

(2021) 22 [持久化] 1-Bit的存储 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p22 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/12.slides#/ 背景 回顾 操作系统是什么&#xff1f;一组对象 一组API…

计算机一级试题论述,计算机一级考试理论题及答案要点

计算机一级考试IT1必做题[1]. 著名的计算机科学家尼.沃思提出了________。A&#xff0e;数据结构&#xff0b;算法程序B&#xff0e;存储控制结构C&#xff0e;信息熵D&#xff0e;控制论[2]. 下面有关扫描仪的叙述中&#xff0c;错误的是________。A&#xff0e;分辨率是扫描仪…

(2021) 23 [持久化] I/O设备与驱动

(2021) 23 [持久化] I/O设备与驱动 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p23 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/13.slides#/ 背景 很多人 (你们的同学们、家长们) 都有一个认识&…

计算机考研计划时间,2019计算机考研时间安排:复习时间规划

随着考研竞争越来越激烈&#xff0c;考研复习一定要做好规划&#xff0c;每天的时间要做好管理&#xff0c;分清轻重缓急&#xff0c;这样才能高效率复习。管理的5个原则&#xff0c;大家抓紧调整个人复习。小编还为大家精心准备了计算机考研复习资料还有计算机考研报考指导助力…

(2021) 24 [持久化] 文件系统API

(2021) 24 [持久化] 文件系统API 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p24 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/14.slides#/ 背景 回顾 硬件视角&#xff1a;持久化的“层层抽象” 物…

计算机辅助应用的缩写有什么,计算机辅助设计的英文缩写是什么

2008-10-09是什么的英文缩写?BOBO......头型里的.....其实"BOBO头"准确的名称应该是BOB头。它是娃娃头的一种。BOB头有许多变种&#xff0c;标准的类似于樱桃小丸子的发型&#xff0c;专业发型师把它称为BOB。最初是由巴黎发型师Antoine 在1909年发明&#xff0c;但…

Linux中的硬链接和软链接

Linux中的硬链接和软链接 节选自南大蒋炎岩老师操作系统网络课程笔记&#xff1a;(2021) 24 [持久化] 文件系统API 硬&#xff08;hard&#xff09;链接 UNIX文件指针 在UNIX中&#xff0c;文件和目录完全不是同一个概念&#xff0c;虽然我们平时看着它们仿佛并列地躺在某个…

计算机win10开机音乐,大师传授win10系统电脑开机总是自动播放音乐的方案

今天小编分享一下win10系统电脑开机总是自动播放音乐问题的处理方法&#xff0c;在操作win10电脑的过程中常常不知道怎么去解决win10系统电脑开机总是自动播放音乐的问题&#xff0c;有什么好的方法去处理win10系统电脑开机总是自动播放音乐呢&#xff1f;今天本站小编教您怎么…

Linux中的tty、pts、pty等概念辨析

Linux中的tty、pts、pty等概念辨析 基本概念 tty、pty、pts、ptmx tty&#xff08;终端设备的统称&#xff09;&#xff1a;tty一词源于Teletypes&#xff0c;或teletypewriters&#xff0c;原来指的是电传打字机&#xff0c;是通过串行线用打印机键盘通过阅读和发送信息的东…

(2021) 25 [持久化] 文件系统实现:FAT和UNIX文件系统

(2021) 25 [持久化] 文件系统实现&#xff1a;FAT和UNIX文件系统 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p25 讲义&#xff1a;http://jyywiki.cn/OS/2021/slides/15.slides#/ 背景 回顾 应用眼中的文件…

用计算机模拟地球诞生,计算机模拟显示早期金星或像地球一样宜居

虽然金星的绰号是“地球的邪恶孪生化身”&#xff0c;但它和地球上的一切都不同&#xff1a;灼热、干燥并且被有毒烟云笼罩。不过&#xff0c;就在10亿或20亿年前&#xff0c;这两个任性的“兄弟”可能更加相似。最新的计算机模拟显示&#xff0c;早期的金星看上去和地球很像&a…

海南大学计算机原理,海南大学微机原理课件 第一章 计算机基础知识

第一章计算机基础知识数 制1.1一.计算机使用的数制及其相互转换 十进制(D)、二进制(B)、八进制(O)和十六进制(H). 数制中用少量数码按次序排列成数位&#xff0c;并按由低到高的进位方式进行计 数。(数码的个数称为基数) D---0,1,2,3,4,5,6,7,8,9------数码十个(基为10)-------…

Linux中的二进制可执行文件和脚本可执行文件及Shebang

Linux中的二进制可执行文件和脚本可执行文件及Shebang 二进制可执行文件 我们知道&#xff0c;一个C程序经过预处理、编译、汇编、链接就会得到一个二进制可执行文件&#xff0c;这种文件在Linux中叫做ELF文件。比如我们有一个C源代码hello.c&#xff1a; #include <stdi…

pe能用的固态硬盘测试软件,通用pe工具箱教你如何让硬盘4K对齐

昨天小编教大家如何查看电脑硬盘是否4K对齐&#xff0c;马上就有读者告诉小编&#xff0c;查看电脑硬盘是否4K对齐的方法学到了&#xff0c;那么我使用的固态硬盘如何做到4K对齐呢&#xff1f;问的好啊&#xff01;现如今用户对电脑硬件的要求是越来越高。很多用户都不仅仅满足…

[2020-ECCV]PIPAL-a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration论文简析

[2020-ECCV] PIPAL: a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration 论文简析 论文&#xff1a;https://arxiv.org/abs/2007.12142 代码及数据集&#xff1a;https://github.com/HaomingCai/PIPAL-dataset 概述 本文认为随着图像重建&…