Захват изображений с помощью OpenCV 2.2 и Python в Linux (Fedora 15 Beta)

1

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

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 script для 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 сама по себе? Или, может быть, что-то не так с образцом script?

Спасибо за ваше время.

Теги:
opencv
webcam
fedora

2 ответа

2
Лучший ответ

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

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

  • 0
    У меня были некоторые проблемы с использованием OpenCV и Python в версии 2.1, и я не знаю, исправили ли они это еще, но это было связано с VideoWriter. Тем не менее, интерфейсы C / C ++ прекрасно работали, хотя интерфейс Python немного разочаровал.
  • 0
    Оказывается, мой GStreamer устарел, спасибо за вашу помощь.
0

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

capture = cv.cvCaptureFromCam(1)

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

  • 0
    Ничего не изменилось :(
  • 0
    Я, например, прочитал ссылку на opencv, и этот индекс должен быть 0 или -1, если у вас не подключено более одной камеры.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню