OpenCV--读取视频文件的帧(测试可用)

    环境:VS2017+ OpenCV3.3 +CPP 

    前两天,使用opencv基于DNN实现了目标的分类和检测,但是我们在实际场景中,经常看到视频中实时的检测和目标分类,这些都是很有意思的,我也尝试的做了一个demo,首先,来说一下,如果和读取一个视频对象中的每一个帧~

一、引入头文件

#include   //opencv编译到一起的统一接口
#include //io流标准库
using namespace std;
using namespace cv;

二、数据准备

    我使用的是opencv3.3中的demo视频,位置在D:\new_cv\opencv\sources\samples\data,下面有vtest.avi,使用的是opencv中视频操作的函数VideoCapture

int main(int argc, char** argv)
{

	VideoCapture capture;
	capture.open("D:/new_cv/opencv/sources/samples/data/vtest.avi");
	if (!capture.isOpened())
	{
		cout << "can't open video" << endl;
		return -1;
	}
	Mat frame;
	while (capture.read(frame))
	{
		imshow("input", frame);
		char c = waitKey(100);
		if (c == 27)//esc键
		{
			break;
		}
	}
	waitKey(0);
	return 0;
}

测试结果:(嘿嘿^_^,脑补下,他是动态的!)

 OpenCV--读取视频文件的帧(测试可用)_第1张图片

    左边有我的微信,可以加好友,大家一起搞一些有意思的事情!^_^

 

你可能感兴趣的:(opencv的入门与实践)