在opencv中读取显示视频的头文件是highgui.hpp。视频图像处理头文件imgproc.hpp。
整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径。

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"using namespace cv;int main()
{namedWindow("Example2", WINDOW_AUTOSIZE);VideoCapture cap;cap.open("H:\\vs2017\\opencv_learning\\ConsoleApplication1\\video.mp4");Mat frame;while (1){cap >> frame;if (frame.empty()) break;imshow("Exameple2",frame);if (waitKey(33) >= 0) break;}return 0;
}

代码解析:

VideoCapture cap;

VideoCapture类:视频捕捉类,该语句实例化了一个对象cap。这个类可以打开和关闭视频文件。这个对象可以打开和关闭ffmpeg支持的所有类型的视频文件。

ffmpeg files是一种多媒体视频处理工具。FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码。"FFmpeg"这个单词中的 “FF” 指的是 “Fast Forward”,TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。
这个项目最初是由Fabrice Bellard发起的,而现在是由Michael Niedermayer在进行维护。许多FFmpeg的开发者同时也是MPlayer项目的成员,FFmpeg在MPlayer项目中是被设计为服务器版本进行开发。


cap.open(“Your Video Path”);
Mat frame;
  • cap.open函数:根据给定的路径,打开视频文件。一旦打开,当前实例cap将包含对应视频文件的所有信息。
  • Mat frame操作:该操作用来实例化一个数据对象,该数据对象用来存放视频帧。

cap >> frame;
if (frame.empty()) break;
imshow("Exameple2",frame);
  • cap>>frame操作:一旦进入while()循环,就会从捕获对象流逐帧读取视频文件。

if (waitKey(33) >= 0) break;

一旦我们显示了帧,然后等待33毫秒。如果用户在此期间按下一个键,我们将退出读循环。否则,33毫秒将通过,我们将再次执行循环。在退出时,所有分配的数据都会在超出范围时自动释放。

【opencv四】利用opencv读取显示视频相关推荐

  1. opencv resize_利用OpenCV 识别两张相似的图片

    Background: 在我们项目中,用到U-net,我们对训练样本图片使用labelme进行标定,对标定生成的json文件labelme_json_to_dataset生成标注图像,由于小伙伴将生成 ...

  2. 3h精通OpenCV(一)- 读取图像视频与网络摄像头

    0.准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库. 1.读取图像 调用imread()方法获取我们资源文件夹中的图片 使用 ...

  3. OpenCV基础篇之读取显示图片

    程序及分析 /* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May ...

  4. 利用OpenCV读取和写入视频

    简 介: 本文介绍了如何对三种不同的视频源(视频文件, 序列图片以及网络摄像头)来进行读取显示视频,使用视频捕获对象. 也给出了如何通过视频捕获对象获取视频流的重要元数据. 介绍了使用视频写入对象把视 ...

  5. 【opencv八】利用opencv加快视频播放速度,并保存avi视频文件

    在许多应用的需求中,希望将输入,或捕获图像记录到输出视频流中,并保存成一个完整的视频,OpenCV提供了一种简单的方法.正如[opencv四]利用opencv读取显示视频和[opencv七]利用ope ...

  6. Ubuntu下利用Opencv进行点阵汉字的字模读取与显示

    前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容. 提示:以下是本篇文章正文内容, ...

  7. 【Python-利用动态二维码传输文件(四)】使用pyautogui库录屏(连续截图),然后利用OpenCV逐张读取截图,识别当中的二维码信息,并把信息重组成原文件

    程序示意图 目录 一.使用pyautogui库,对电脑屏幕进行录屏 二.使用OpenCV库对100帧截图进行识别,并与原29帧二维码图片内含信息进行比对 三.把获取的100帧二维码信息去重,并保持原来 ...

  8. opencv java 显示图片_【opencv三】利用opencv读取显示图片

    在opencv中读取显示图片的头文件是highgui.hpp. 整体代码如下,如要测试自己的图片,需要将代码段中的图片地址更改为自己图片的绝对路径. #include "opencv2/hi ...

  9. linux opencv 显示视频文件夹,opencv cvCaptureFromFile读取视频问题汇总

    一.无法读取文件 报错: OpenCV报错: warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:52 ...

最新文章

  1. Hadoop集群配置(最全面总结)
  2. SVM训练时候样本不均衡怎么设置惩罚项
  3. k8s secret使用方式:pod通过变量和volume方式使用secret
  4. 今天的我叫史努比的飞鸽传书
  5. C++ set与map、unordered_map、unordered_set与哈希表
  6. android /data文件夹无法显示内容
  7. 依赖反转原理,IoC容器和依赖注入:第4部分
  8. 【报告分享】疫情期间抖音、快手带货趋势分析报告.pdf(附下载链接)
  9. 2020 年,React.js 开发者如何更好地修炼内功?
  10. 专业运维配的vsftpd.conf
  11. 机器学习基石笔记2——在何时可以使用机器学习(2)
  12. 各种组织的marker gene
  13. 天知道-网络应用-Vue小案例-黑马程序员
  14. 员工效率低下,责任在管理层的数学解释和分析
  15. 使用toUpperCase toLowerCase getBytes方法实现一串字母字符的大小写转换
  16. 基于ARM处理器的TSC2046触摸屏控制器的应用
  17. Android Studio安装教程(保姆级超级详细)
  18. 微型计算机增刊2016,科幻世界·2016年增刊
  19. 华为手机在计算机里怎么隐藏游戏,原来华为手机隐藏着这么多实用功能!玩一年恐怕也发现不了...
  20. chatgpt国内能用吗?详细解读gpt的使用方法

热门文章

  1. MySQL备份恢复方案
  2. 《如果……》拉迪亚德·吉卜林
  3. js实现简单点名册.
  4. 解决HTML显示中文乱码问题
  5. linux- 日志管理
  6. spring 配置相关
  7. [P4]p4 integrate/resolve/copy
  8. 《算法笔记》第4章常用技巧及排序算法
  9. 涨姿势|小众建模软件MakeHuman,人物角色建模基础入门教程(1)
  10. centos篇---安装mysql详细步骤