提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
opencv-c++入门学习笔记(二)
opencv视频操作基础
读取视频/捕获摄像头画面
VideoCapture类
对VideoCapture类的分析,可以发现使用它读入视频的方法主要有以下两种,例如读入工程文件目录下的“1.mp4”:
①先实例化再初始化
VideoCapture capture;
capture.open(“1.mp4”);
②实例化的同时初始化
VideoCapture capture(“1.mp4”);
代码实现(读取视频)
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
//读入视频
VideoCapture capture("1.mp4");
//循环显示每一帧
while(1)
{
//Mat变量,用于储存每一帧的图像
Mat frame;
//读取当前帧
capture >> frame;
imshow("读取视频",frame);
waitKey(30);
}
return 0;
}
捕获摄像头画面
//只需将代码VideoCapture capture("1.mp4");中的“1.mp4”换成0就可以了
需要注意的是,笔记本电脑摄像头默认为换成0。
利用示例程序配合canny边缘检测
代码
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture(0);
while(1)
{
Mat frame,grayframe;
capture >> frame;
cvtColor(frame,grayframe,COLOR_BGR2GRAY);
blur(grayframe,grayframe,Size(7,7));
Canny(grayframe,grayframe,0,30,0);
imshow("canny后的视频",grayframe);
if (waitKey(30) >= 0)
break;
}
return 0;
}