目录

一.安装opencv

二 配置环境

三 实例

四 总结

五参考文献


一.安装opencv

1下载

在虚拟机内打开浏览器输入网址Release OpenCV 3.4.15 · opencv/opencv · GitHub,选择官网下载,找出opencv3.4.15下载。

2 解压

将下载好的zip文件移动到主目录进行解压。

3使用cmake安装opencv

在终端输入以下代码

然后在输入以下代码进行更新

然后安装cmake

然后安装依赖库

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

4 进行编译

输入sudo make等待加载完毕。

5 进行安装

输入sudo make install进行安装等待到出现命令行。

二 配置环境

在终端输入

sudo gedit /etc/ld.so.conf.d/opencv.conf

以文件,在文件打开的内容中另起一行,输入

include /usr/local/lib

然后点击保存后关闭。

然后在终端里面输入 sudo gedit /etc/bash.bashrc 代码,对bash.bashrc文件进行修改,在文末加上

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

这两串后保存关闭。

在终端中输入

source /etc/bash.bashrc

检验

在终端中输入

pkg-config opencv --modversion

然后如果出现以下就说明一切准备待续安装完成。

至此,opencv就安装完成了。

三 实例

在主目录创建一个文件夹,在在文件中创建一个名为test1.cpp的文件

然后在出现的里面输入以下代码

编译文件

g++ test1.cpp -o test1 `pkg-config --cflags --libs opencv`

输入以上代码,获得名为test1的程序,然后在文件夹中放入一张图片,然后在输入代码

./test

运行程序,可获得一个后缀为png的文件。

2打开摄像头显示

用以下代码

gedit test2.cpp

创建一个名为test2.cpp的文件然后在其中输入代码

保存后关闭。

对其进行编译,

g++  test2.cpp  -o  test2  `pkg-config --cflags --libs opencv`

获得名为test2的程序然后在终端输入./test2成功运行

录制视频

用gedit test3.cpp创建另外一个文件,

并用代码

g++ test3.cpp -o test3 `pkg-config --cflags --libs opencv`

将其编译,然后使用./test3运行程序

获得如上一帧一帧的图片组成的视屏。

如果要打开硬盘上的一个视频文件来播放, 则需要把程序中的

VideoCapture capture(0);

改为

VideoCapture capture("xxxx.mp4");

在第6行的while循环中Mat是一个类,由两部分数据组成:矩阵头(包括矩阵尺寸、存储方法、存储地址等信息)和一个指向所有像素值的矩阵(根据所选存储方法不同,矩阵可以是不同的维数)的指针。

waitKey这个命令控制着imshow的持续时间,当imshow之后不跟waitKey时,相当于没有给imshow提供时间展示图像,就只有一个空窗口一闪而过,所以必须加waitKey。

此代码会在while循环中一直运行,如果试图用鼠标关闭图像显示窗口,会发现始终关不掉。需要用键盘Ctrl+C 强制中断程序,非常不友好。改进方法如下:

#include<iostream>
#include <opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;int main()
{//打开电脑摄像头VideoCapture cap(0);if (!cap.isOpened()){cout << "error" << endl;waitKey(0);return 0;}//获得cap的分辨率int w = static_cast<int>(cap.get(CV_CAP_PROP_FRAME_WIDTH));int h = static_cast<int>(cap.get(CV_CAP_PROP_FRAME_HEIGHT));Size videoSize(w, h);VideoWriter writer("RecordVideo.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25, videoSize);Mat frame;int key;//记录键盘按键char startOrStop = 1;//0  开始录制视频; 1 结束录制视频char flag = 0;//正在录制标志 0-不在录制; 1-正在录制while (1){cap >> frame;key = waitKey(100);if (key == 32)//按下空格开始录制、暂停录制   可以来回切换{startOrStop = 1 - startOrStop;if (startOrStop == 0){flag = 1;}}if (key == 27)//按下ESC退出整个程序,保存视频文件到磁盘{break;}if (startOrStop == 0 && flag==1){writer << frame;cout << "recording" << endl;}else if (startOrStop == 1){flag = 0;cout << "end recording" << endl;}imshow("picture", frame);}cap.release();writer.release();destroyAllWindows();
}

四 总结

总之做这个实验的中途真是命运多舛的一次实验呀,多次因为各种原因报错,然后去一个一个的解决,最后在同学和网络的帮助下勉强完成了本次作业,过程漫长,熬过来了也真是一次进步哇。

五参考文献

https://blog.csdn.net/public669/article/details/99044895

https://blog.csdn.net/weixin_44741023/article/details/103182788

https://blog.csdn.net/pink_lemon/article/details/120632557

https://blog.csdn.net/ssj925319/article/details/109231145

在ubuntu20.04环境下安装opencv教程并测试相关推荐

  1. ubuntu20.04环境下安装opencv教程及测试

    目录 一.安装opencv (1)下载opencv-3.4.15数据包 (2)解压 (3)使用cmake安装opencv (4)使用make创建编译 (5) 安装 二.配置环境 三.实例 (1)打开图 ...

  2. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. p ...

  3. Ubuntu20.04环境下编译MNN

    前言 MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测.目前,MNN已经在阿里巴巴的手机淘宝.手机天猫.优酷等20多个App中使用,覆盖直播.短视频.搜索推荐.商品图像 ...

  4. python连接opencv库_python环境下安装opencv库的方法

    注意:安装opencv之前需要先安装numpy,matplotlib等 一.安装方法 方法一.在线安装 1.先安装opencv-python pip install opencv-python --u ...

  5. python的opencv库_python环境下安装opencv库的方法

    注意:安装opencv之前需要先安装numpy,matplotlib等 一.安装方法 方法一.在线安装 1.先安装opencv-python pip install opencv-python --u ...

  6. Anaconda3 | Ubuntu(python3.6)环境下安装opencv

    Anaconda3 | Ubuntu(python3.6)环境下安装opencv 文章转载自:https://blog.csdn.net/wds2435629591/article/details/7 ...

  7. 20220211关于TL-WDN6200(RTL8812AU)在ubuntu20.04.3下安装驱动程序的历险记

    20220211关于TL-WDN6200(RTL8812AU)在ubuntu20.04.3下安装驱动程序的历险记 2022/2/11 14:42 一个超级巨大的合作伙伴报告,华硕无畏Pro14 锐龙版 ...

  8. 工作站Ubuntu16.04环境下安装nvidia显卡驱动

    近期实验室的工作站,由于teamviewer的原因又崩了.这次只能重装系统才得以解决.nvidia驱动安装步骤记录如下: 备注:工作站品牌为北京联众集群.配备有2块NVIDIA Titan xp 12 ...

  9. Windows11环境下安装Yapi教程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Windows11环境下安装Yapi教程 目录 一.Yapi 简介 1.Yapi是什么? 2.Yapi的主要功能简介 二.Yapi 安 ...

最新文章

  1. (转)angular进行md5加密 base64加密 哈希加密
  2. Windows 8实例教程系列 - 理解应用框架
  3. jquery 通过submit()方法 提交表单示例
  4. Python入门方法--简单总结+学习方式思考
  5. [数据结构]A*寻路算法
  6. 【QT】QT从零入门教程(十五):QImage和Mat的转换
  7. 这几款好加密软件让你不再担心担心隐私泄露!
  8. 5V单端差分信号编码器转脉冲24V电平集电极开路变送器
  9. 广州岑村科目二a考场,第一次考满分通过
  10. 什么是集线器、交换机、路由器、光猫?它们之间的本质区别是什么?
  11. cad计算机平方,AutoCAD的平方符号怎么打出来?
  12. percona-toolkit检查主从一致性
  13. zookeeper相关面试题
  14. 三极管饱和区的详细解释
  15. linux 优化脚本 关闭服务器,linux服务器一键优化脚本
  16. mysql的mvcc和lbcc
  17. 使用cmd打开Office Word、Excel、Powerpoint
  18. Windows 安装Java (官网下载Java)
  19. 80年代计算机机房,上世纪九十年代甩图版,计算机制图开始取代手工制图
  20. Position为absolute的div或dropdown menu在设置了overflow的div中显示不完全(cropped)

热门文章

  1. springboot vue考试问卷源码
  2. 技术笔记:Spring常见面试题总结
  3. STM32C8T6小板下载问题
  4. c语言如何判断最小公倍数,c语言如何求最大公约数和最小公倍数?
  5. python 使用selenium 批量获取url的cookies
  6. 普中科技开发板AD转换和步进电机
  7. glsl boom
  8. 数据结构(C语言第2版) 课后习题答案之第五章 树和二叉树
  9. c语言试题打不开,下载的二级C语言题库打不开,错误如下:
  10. 学生管理系统 C语言 动态链表 结构体 文件操作 设置密码 输入密码回显星号