原文:http://blog.sina.com.cn/s/blog_9b493e7b0102xvn6.html

opencv可以捕获摄像头数据。如果要读高分辨率和高帧率,可以用如下的设置:

capture.set(CV_CAP_PROP_FPS, 30);

capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920);

capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);

如果只按照常规的读取方法帧率其实达不到30fps,所以必须对读到的视频帧进行压缩,故还需要设置:

capture.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));

这样将视频帧压缩之后,就可以让摄像头在1080p及30fps下工作。

注意:

设置参数的顺序一定是格式、帧率、宽/高,否则不能正常工作。

capture.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));

capture.set(CV_CAP_PROP_FPS, 30);

capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920);

capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);

05-07 13:28