Linux上的OpenCV(通过python):设置帧宽/高?
我在
linux(ubuntu 12.04)上通过
python使用openCV,我有一个我想要抓图像的logitech c920.奶酪能够抓住高分辨率的帧,但是每当我尝试使用openCV时,我只能获得640×480的图像.我努力了:
import cv cam = cv.CaptureFromCAM(-1) cv.SetCaptureProperty(cam,cv.CV_CAP_PROP_FRAME_WIDTH,1920) cv.SetCaptureProperty(cam,1080) 但是在最后两行之后,这会产生“0”的输出,当我随后通过以下方式获取一个帧时: image = cv.QueryFrame(cam) 得到的图像仍然是640×480. 我已经尝试通过(python外部)安装似乎相关的工具: sudo apt-get install libv4l-dev v4l-utils qv4l2 v4l2ucp 我确实可以通过以下方式操纵相机的设置(再次,在python之外) v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=1 v4l2-ctl --set-parm=30 并观察: v4l2-ctl -V 确实表明有些事情发生了变化: Format Video Capture: Width/Height : 1920/1080 Pixel Format : 'H264' Field : None Bytes per Line : 3840 Size Image : 4147200 Colorspace : sRGB 但是当我进入python shell时,上述代码的行为与以前完全一样(尝试设置属性并获取640×480的图像时打印零). 能够提高捕获的分辨率对我来说是非常关键的,所以我非常感谢任何人都可以提供的任何指针. 解决方法
从
the docs,
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |