zoukankan      html  css  js  c++  java
  • opencv播放视频

    一、介绍

    视频读取本质上就是读取图像,因为视频是由一帧一帧图像组成的。1秒24帧基本就能流畅的读取视频了。

    ①读取视频有两种方法:

    A. VideoCapture cap;

    cap.open(“1.avi”);

    B. VideoCapture cap(“1.avi”);

    ②循环显示每一帧:

    while(1)

    {

            Mat frame; //定义Mat变量,用来存储每一帧

             cap>>frame; //读取当前帧方法一

            //cap.read(frame); //读取当前帧方法二

            imshow(“视频显示”, frame); //显示一帧画面

            waitKey(30); //延时30ms

    }

    二、读取视频示例程序

    #include <opencv2/opencv.hpp>
    using namespace cv;
    
    int main() 
    {
    	VideoCapture cap;
    	cap.open("F:/1.avi");
    	if (!cap.isOpened())
    		return -1;
    
    	Mat frame;
    	while (1)
    	{
    		cap >> frame;  //等价于cap.read(frame);
    		if (frame.empty())//如果某帧为空则退出循环
    			break;
    		imshow("avi", frame);
    		waitKey(20);
    	}
    	cap.release();    //释放资源
    	return 1;
    }
    

    三、读取视频说明

    打开的视频可以是本地视频如:
    VideoCapture cap(“1.avi”);
    也可以是网络视频如:
    VideoCapture cap(“http://www.laganiere.name/bike.avi“);
    读取视频一定要加异常判断
    A.打开视频失败(各种原因)
    B. 取帧失败异常(程序结尾判断)
    ex1:
    if(!cap.isOpened()) //检查打开是否成功
    return;
    ex2:
    cap>>frame;
    if(!frame.empty()) //判断当前 帧是否为空
    {
    imshow(“video”, frame);
    waitKey(30);
    }

  • 相关阅读:
    antd Icon
    antd button
    tree 向上查找(更新删除后页面的数据)
    tree 向下查找 (删除整条tree)
    tree结构统一修改属性名(递归)
    json转换为tree对象(递归)
    python测试题
    c函数练习
    飞机一只
    python1119作业1
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/15401501.html
Copyright © 2011-2022 走看看