【开发环境】
操作系统:VS2015 64位
OpenCV版本:OpenCV2.4.13
#注意:
waitKey(1);是延时1ms,如果为0则一直显示,一般显示图片为0,视频显示大于0,如果视频显示为0,则会卡在第一帧,也就是一直显示第一帧图片。
摄像头输入视频
#include <opencv2\opencv.hpp>
#include <iostream>
//#include <opencv2/highgui.hpp>
using namespace cv;
using namespace std;
//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-------------------------------------------------------------------------------------------------
int main()
{
//【1】从摄像头读入视频
VideoCapture capture(1);//0为内置摄像头,1为外置摄像头
Mat frame; //定义一个Mat变量,用于存储每一帧的图像
//【2】循环显示每一帧
while (1)
{
//Mat frame; //定义一个Mat变量,用于存储每一帧的图像
capture >> frame; //读取当前帧
if (!capture.isOpened())//判断摄像头是否打开
{
cout << "视频加载失败 !"<<endl;
}
imshow("读取视频", frame); //显示当前帧
waitKey(1); //延时30ms
}
return 0;
}
从文件夹读取视频
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( )
{
//【1】读入视频
VideoCapture capture("1.avi");
//【2】循环显示每一帧
while(1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture>>frame; //读取当前帧
//若视频播放完成,退出循环
if (frame.empty())
{
cout << "视频加载失败 !";
break;
}
imshow("读取视频",frame); //显示当前帧
waitKey(1); //延时30ms
}
return 0;
}
读取图片
#include <opencv2/opencv.hpp> //头文件
using namespace cv; //包含cv命名空间
void main( )
{
// 【1】读入一张图片,载入图像
Mat srcImage = imread("1.jpg");
// 【2】显示载入的图片
imshow("【原始图】",srcImage);
// 【3】等待任意按键按下
waitKey(0);
}