使用 guvcview 中的 Microsoft LifeCam Cinema(在 Ubuntu 上),我在 1280x720 上获得 30fps。在我的 OpenCV 程序中,我只得到 10fps(只有queryframe
和showimage
,没有进行图像处理)。我发现这是gstreamer的问题。一个解决方案是在 gstreamer 中设置一个 capsfilter,在终端中我可以这样做:
gst-launch v4l2src device=/dev/video0 !
'video/x-raw-yuv,width=1280,height=720,framerate=30/1' ! xvimagesink
这行得通!问题是:
- 如何在我的 c++/OpenCV 程序中实现它?
- 或者是否可以将 gstreamer 设置为始终使用此 capsfilter?
我已经找到了这个问题Option 3,但我无法让它与网络摄像头一起使用。