在Linux上使用OpenCV 2.2和Python捕获图像(Fedora 15 Beta版)

在Linux上使用OpenCV 2.2和Python捕获图像(Fedora 15 Beta版),python,linux,opencv,webcam,fedora,Python,Linux,Opencv,Webcam,Fedora,我有下面的代码 import cv import time cv.NamedWindow("camera", 1) capture = cv.CaptureFromCAM(0) while True: img = cv.QueryFrame(capture) cv.ShowImage("camera", img) if cv.WaitKey(10) == 27: break 上面的代码是OpenCV-2.2自己的Python CAM捕获脚本。所以我知道这个

我有下面的代码

import cv
import time

cv.NamedWindow("camera", 1)

capture = cv.CaptureFromCAM(0)

while True:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    if cv.WaitKey(10) == 27:
    break
上面的代码是OpenCV-2.2自己的Python CAM捕获脚本。所以我知道这个程序没有问题。我可以将我的cam与Linux上的不同应用程序一起使用,比如叫做Cheese的程序。然而,当我编译这个程序时,我得到一个错误,如下所示

(camera:2519): GStreamer-CRITICAL **: gst_debug_add_log_function: assertion `func != NULL' failed

(gst-plugin-scanner:2521): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstbcmdec.so': /usr/lib64/gstreamer-0.10/libgstbcmdec.so: undefined symbol: gst_video_format_new_caps
我猜GStreamer有点问题。有办法解决这个问题吗?或者OpenCV-2.2本身有问题吗?或者示例脚本可能有问题


谢谢您的时间。

尝试使用其他相机索引

capture = cv.cvCaptureFromCam(1)

或其他更高的索引,该符号应由包gstreamer plugins base提供


检查是否已安装。如果您确实拥有它,这意味着您的软件包版本比OpenCV 2.2需要的版本旧。最好在您的平台上更新整个版本,以确保安全。

我阅读了opencv参考,索引应为0或-1,除非您连接了多个摄像头。我在2.1版上使用opencv和Python时遇到了一些问题,我不知道他们是否修复了它,但它与VideoWriter相关。尽管如此,C/C++接口工作得非常出色,尽管Python接口有点失望。结果是我的GStreamer已经过时了。谢谢你的帮助。