【问题标题】:Video capture PROPID parameters in openCVopenCV中的视频采集PROPID参数
【发布时间】:2015-12-04 18:18:20
【问题描述】:

我正在使用 Python 3.4 和 opencv(64 位)。我的问题是关于属性标识符参数,例如用于视频捕获的 CV_CAP_PROP_FRAME_WIDTH 或 CV_CAP_PROP_FRAME_HEIGHT。完整的文档在这里:http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=get#cv2.VideoCapture.get。当我硬编码这些数字时,我的程序运行良好,但它无法识别文档中给出的任何术语。我阅读了一些较早的帖子,这些帖子在 cv 中可用,但在 cv2 库中不可用。有更新吗?我在这里找不到其他任何东西......我不喜欢使用硬编码的数字。有什么建议吗?提前致谢。

【问题讨论】:

  • 我必须补充一点,我是 Python 新手。我读到我必须将 import cv2.cv 作为 cv 但我收到此错误: ImportError: No module named 'cv2.cv'; 'cv2' 不是一个包
  • 我也有同样的问题。我认为在您发布的文档中,它们按整数标识符的顺序列出。因此,一种解决方法是自己定义它们CV_CAP_PROP_POS_MSEC=0 等。不过,我会对正确的解决方案非常感兴趣。

标签: opencv python-3.x video-capture


【解决方案1】:

我在浏览互联网上的相关帖子时偶然发现了这些房产。

对于 Python OpenCV 3,它们直接位于 cv2 模块中,但必须在没有前导 CV_ 的情况下访问。例如,您提到的两个属性可以访问为:

cv2.CAP_PROP_FRAME_WIDTH
cv2.CAP_PROP_FRAME_HEIGHT

一个可行的例子是:

import numpy
import cv2

cap = cv2.VideoCapture("examplevid.mp4")
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
width  = cap.get(cv2.CAP_PROP_FRAME_WIDTH)

请注意,这仅适用于 OpenCV 3。对于旧版本的 OpenCV(即 2.X.X),cv2.cv.CV_CAP_PROP_FRAME_HEIGHT 语法应该可以工作。

【讨论】:

  • 其次,对于 OpenCV 3.0.0 (cv2)
猜你喜欢
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多