【问题标题】:Unable to change frame height, width in OpenCV无法在 OpenCV 中更改框架高度、宽度
【发布时间】:2013-12-21 16:18:43
【问题描述】:

我正在使用 OpenCV python 绑定来快速组合script/prototype,但出于某种奇怪的原因,

camera.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 640.0) 

...什么都不做。我的意思是它返回True,但帧高度是恒定的。不,返回常量不是错误,因为camera.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT) 将返回240.0 作为默认值。

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

为了它的价值,我在 windows 8.1 上运行此代码。

【问题讨论】:

    标签: python opencv python-2.7


    【解决方案1】:

    通常无法通过 openCV 更改相机设置。

    这取决于相机对 Microsoft Directshow 接口的实现程度。 由于 Directshow 难以理解、记录不充分且难以测试,而且相机的制造成本低廉......

    【讨论】:

    • @grenadier 你能改变相机附带的任何实用程序/查看器的大小吗?如果是 USB 相机,您可能还需要选择其他图像格式,它可能无法全速发送完整分辨率
    • @MartinBeckett +1 不错的答案。如果您认为相关,也许您可​​以添加指向this answer 的链接。
    • @karlphillip - 不知道该答案是否仍然相关。我提交了一堆对 2.4 的修复,以允许 opencv 设置所有参数,如果 directshow 实际实现它
    • 回到您的第一条评论:在 Windows 上的 OpenCV 中设置分辨率适用于大多数网络摄像头(至少到目前为止我使用的所有摄像头都有效)。确保安装了正确的驱动程序。
    【解决方案2】:

    您必须同时设置 WIDTHHEIGHT 才能更改相机分辨率。有人说改变高度会自动调整宽度,但这对我不起作用。

    请参阅我的other answer 关于此主题。

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多