OpenCv 之 VideoCapture读取本地视频和打开摄像头
        //读取视频

VideoCapture capture("./video/src1.mp4");

//参数为0时打开摄像头
VideoCapture capture;

captrue.open(0);

代码:

/******************读取本地视频*******************/
void VideoRead()
{
	//读取视频
	VideoCapture capture("./video/src1.mp4");
	/*
	VideoCapture capture;
	//参数为0时打开摄像头
	captrue.open("./video/src1.mp4");
	*/
	//循环显示每一帧
	while (1)
	{
		//frame存储每一帧图像
		Mat frame;
		//读取当前帧
		capture >> frame;
		//播放完退出
		if (frame.empty()) {
			printf("播放完成\n");
			break;
		}
		//显示当前视频
		imshow("读取视频",frame);
		//延时30ms
		waitKey(30);
	}
}

/*******************调用摄像头********************/
void OpenCamera()
{
	//打开摄像头
	VideoCapture capture;
	capture.open(0);
	//灰度图像
	Mat edge;
	//循环显示每一帧
	while (1)
	{
		//frame存储每一帧图像
		Mat frame;
		//读取当前帧
		capture >> frame;
		//显示当前视频
		imshow("正在录制", frame);
		//得到灰度图像
		cvtColor(frame, edge, CV_BGR2GRAY);
		//3*3降噪 (2*3+1)
		blur(edge, edge,Size(7,7));
		//边缘显示
		Canny(edge,edge,0,30,3);
		imshow("高斯模糊视频",edge);
		//延时30ms,按下任何键退出
		if (waitKey(30) >= 0)
			break;
	}
}


Logo

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!

更多推荐