Захват изображений с помощью OpenCV 2.2 и Python в Linux (Fedora 15 Beta) - PullRequest
1 голос
/ 29 апреля 2011

У меня есть код ниже;

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

Приведенный выше код является собственным скриптом захвата CAM OpenCV-2.2 для Python.Так что я знаю, что с программой все в порядке.И я могу использовать свою камеру с различными приложениями в 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 ]

2 голосов
/ 29 июня 2011

Этот символ должен быть предоставлен пакетом gstreamer-plugins-base.

Проверьте, установлен ли он у вас. Если он у вас есть, это означает, что ваша версия этого пакета старше, чем требуется OpenCV 2.2. Лучше всего обновить GStreamer на вашей платформе, чтобы быть уверенным.

0 голосов
/ 16 июня 2011

Попробуйте использовать другой индекс камеры

capture = cv.cvCaptureFromCam(1)

или другие более высокие индексы

...