OpenCV视频操作基础
VideoCapture作用是从视频文件或从摄像头捕获视频并显示出来
读取并播放视频
先实例化在初始化
VideoCapture capture;
capture.open("MV.mp4");
if (!capture.isOpened())
{
printf("Open ERROR!\n");
return -1;
}
循环读入视频帧
Mat frame,gray,bin;
double FPS = capture.get(CV_CAP_PROP_FPS);
printf("FPS:%f",FPS);
namedWindow("Video", CV_WINDOW_AUTOSIZE);
while (capture.read(frame))
{
cvtColor(frame, gray, COLOR_BGR2GRAY);
threshold(gray, bin, 0, 255, THRESH_BINARY | THRESH_OTSU);
imshow("Video", bin);
char c = waitKey(100);//100ms 返回值为当前键盘按键值 ESC ASCII码是27
if (c == 27)
{
break;
}
}
调用摄像头采集图像
区别仅仅是在VideoCapture类初始化对象时填入一个0。
VideoCapture capture;
capture.open(0);