opencv VideoCapture

videocapture顾名思义视频捕捉,主要是从视频文件、摄像头或网络摄像头获取视频流数据,并将其作为一系列帧进行处理。
我们这里主要实现了获取项目文件夹下的1.mp4视频文件,然后经过灰度变化、均值滤波、边缘检测然后将视频显示出来

#include 
#include 
using namespace cv;
int main() {
	VideoCapture capture("1.mp4");
	Mat edges;
	while (1) {
		Mat frame;
		capture >> frame;
		cvtColor(frame, edges, COLOR_BGR2GRAY);
		blur(edges, edges, Size(7, 7));
		Canny(edges, edges, 0, 30, 3);
		imshow("读取视频", edges);
		waitKey(30);
	}
	return 0;
}

下面就是显示的视频流,在一个循环里,一次只拿到一帧数据处理
opencv VideoCapture_第1张图片
对了,我尝试了注释waitKey函数,发现注释其后,视频无法播放。
waitKey函数的作用不仅是等待指定的时间,还可以处理键盘输入事件,确保图像窗口能够正确显示并保持打开状态。因此,保留waitKey函数对于视频播放和显示是非常重要的。
VideoCapture capture(0);这个里面也可以把视频路径改为0,会调用笔记本的摄像头。

你可能感兴趣的:(opencv,opencv,人工智能,计算机视觉)