【转】用opencv使摄像头在30fps下捕获1080p的数据
原文: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);
作者:Dozeoo
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。