错误:QueryFrame不是cv的成员

时间:2015-05-12 08:52:50

标签: c++ opencv

当我在raspbian上运行我的opencv代码时,我收到以下错误:

error: "CaptureFromCAM" is not a member of cv
error: "SetCaptureProperty" is not a member of cv
error: "QueryFrame" is not a member of cv

当我使用opencv 3.0时,任何人都可以帮助使用正确的符号。代码在较低版本上运行时没有错误。

2 个答案:

答案 0 :(得分:1)

扩展berak的答案:

OpenCV C-API是一个不应该使用的遗物,除非你真的需要。很长一段时间以来都是如此。 如果仍然需要,显然仍有方法可以访问旧的C API。请参阅此帖子中berak的评论。

要捕获视频,您应该使用C ++ API中的cv::VideoCapture类。该链接显示了用法示例以及类引用。

如果你有使用旧C-API的旧代码,你唯一的选择是保留在OpenCV 2.x上,或者重写为C ++ API。

答案 1 :(得分:0)

已弃用的cv python api已从opencv3.0中删除,CaptureFromCAM等已不再可用。

请在python中使用opencv的cv2 api:

import numpy as np
import cv2

cv2.namedWindow("win")

camera = cv2.VideoCapture(0)
while camera.isOpened():
    ok, image=camera.read()
    if not ok:
        print 'no image read'
        break
    cv2.imshow("win", image)
    k = cv2.waitKey(1) & 0xff
    if k == 27 : break # esc pressed