Python 无法更改OpenCV中的帧高度、宽度

Python 无法更改OpenCV中的帧高度、宽度,python,opencv,python-2.7,Python,Opencv,Python 2.7,我正在使用OpenCV python绑定来组合一个快速的脚本/原型,但出于一些奇怪的原因 camera.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 640.0) ……什么也不做。我的意思是,它返回True,但帧高度是恒定的。不,返回常量不是错误,因为camera.get(cv2.cv.cv\u CAP\u PROP\u FRAME\u HEIGHT)将返回240.0作为默认值 我不知道为什么会失败。有什么想法吗 值得一提的是,我在windows8.1上运行这段代

我正在使用OpenCV python绑定来组合一个快速的
脚本/原型
,但出于一些奇怪的原因

camera.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 640.0) 
……什么也不做。我的意思是,它返回
True
,但帧高度是恒定的。不,返回常量不是错误,因为
camera.get(cv2.cv.cv\u CAP\u PROP\u FRAME\u HEIGHT)
将返回
240.0
作为默认值

我不知道为什么会失败。有什么想法吗


值得一提的是,我在
windows8.1

上运行这段代码,通常无法通过openCV更改相机设置

这取决于摄像头实现微软Directshow界面的效果。
由于Directshow很难理解,文档记录不完整,测试困难,而且摄像头制作成本低廉……

为了更改摄像头分辨率,您必须同时设置宽度和高度。有人说,改变高度会自动调整宽度,但这对我不起作用


有关此主题,请参阅我的。

@glandier您可以更改相机附带的任何util/viewer的大小吗?您可能还必须选择另一种图像格式,如果它是USB摄像头,它可能无法发送完整分辨率speed@MartinBeckett+1回答得好。如果你认为相关,也许你可以添加一个链接。@karlphillip-不知道这个答案是否仍然相关。我向2.4提交了一系列修复程序,以允许opencv在directshow实际实现时设置所有参数,这只是为了回到您的第一条评论:在windows上的opencv中设置分辨率在大多数网络摄像头上都有效(至少我到目前为止使用的所有摄像头都有效)。确保安装了正确的驱动程序。