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;
}
}