2011-04-29 2 views
1

J'ai le code ci-dessous;Capture d'images avec OpenCV 2.2 et Python sous Linux (Fedora 15 Beta)

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 

Le code ci-dessus est le propre script de capture CAM d'OpenCV-2.2 pour Python. Donc, je sais que rien ne va pas avec le programme. Et je peux utiliser ma caméra avec différentes applications sur Linux comme le programme appelé Cheese. Cependant quand je compile ce programme j'obtiens une erreur comme ci-dessous;

(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 

Je suppose que quelque chose ne va pas avec le GStreamer. Y'a t'il un moyen d'arranger cela? Ou y a-t-il un problème avec OpenCV-2.2 lui-même? Ou peut-être que quelque chose ne va pas avec l'exemple de script?

Nous vous remercions de votre temps.

Répondre

2

Ce symbole doit être fourni par le paquet plugins GStreamer-base.

Vérifiez si vous l'avez installé. Si vous l'avez, cela signifie que votre version de ce paquet est plus ancienne que ce dont OpenCV 2.2 a besoin. Il est préférable de mettre à jour l'intégralité de GStreamer sur votre plate-forme juste pour être sûr.

+0

J'ai eu quelques problèmes en utilisant OpenCV et Python sur la version 2.1 et je ne sais pas si elles l'ont encore corrigé, mais c'était lié à VideoWriter, néanmoins, les interfaces C/C++ ont fonctionné à merveille, même si l'interface Python a déçu un peu – karlphillip

+0

Il s'est avéré que mon GStreamer était sorti de date merci pour votre aide. – JohnRoach

0

Essayez d'utiliser un indice de caméra différent

capture = cv.cvCaptureFromCam(1) 

ou d'autres indices plus élevés

+0

n'a pas changé quoi que ce soit :( – JohnRoach

+0

I pour un interprétons la référence OpenCV et cet indice doit être 0 ou -1 sauf si vous avez plus d'une caméra attachée. –