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

时间:2011-04-29 15:47:04

标签: 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捕获脚本。所以我知道该计划没有任何问题。我可以在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本身有问题吗?或者样本脚本可能出现问题?

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

该符号应由gstreamer-plugins-base包提供。

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

答案 1 :(得分:0)

尝试使用其他相机索引

capture = cv.cvCaptureFromCam(1)

或其他更高的指数