VideoCapture:视频抓取的类
VideoWriter :写视频的类
fps(frame per second)帧率:每秒抓取显示多少帧
#include<opencv2\opencv.hpp>
using namespace cv;
int main(int arc, char** argv) {
VideoCapture capture(0);//打开摄像头
//VideoCapture capture;//实例化一个类的对象
//capture.open("vtest.avi");//打开视频
if (!capture.isOpened()) {
printf("could not load video data\n");
return -1;
}
Size size = Size(capture.get(CV_CAP_PROP_FRAME_WIDTH),capture.get( CV_CAP_PROP_FRAME_HEIGHT));
VideoWriter writer("write_demo.avi",-1, 10, size, false);
Mat frame;
while (capture.read(frame))//读取每一帧,读完自动返回false
{
writer.write(frame);//写视频
namedWindow("frame");
cvtColor(frame, frame, CV_BGR2GRAY);
threshold(frame, frame, THRESH_BINARY | THRESH_OTSU,255,CV_8UC1);
imshow("frame", frame);
char c = waitKey(100);//等待100ms
if (c == 27) { break; }//按ESC退出
}
waitKey(0);
return 0;
}