VideoCapture: ошибка захвата графика - PullRequest
1 голос
/ 06 мая 2011

Я использую пакет Python (2.7) VideoCapture. Когда я пытаюсь создать экземпляр устройства, я получаю исключение:

Ошибка: невозможно создать график захвата.

Я использую cam = Device(), так что ничего особенного там нет. У меня есть один ноутбук, где это работает без проблем, и другой, где я получаю исключение. Они разные, но обе имеют внутренние USB-камеры.

Неделю назад это сработало, но теперь я получаю только исключение. Оба используют Windows 7.

У кого-нибудь есть идеи, как решить эту проблему или как я могу получить больше информации о том, что не так?

Спасибо.

Ответы [ 2 ]

1 голос
/ 24 июня 2014

Я знаю, что это действительно старая тема. Я продолжал получать эту ошибку после создания экземпляра устройства во второй раз. Перемещение кода в основной поток решило проблему для меня.

1 голос
/ 12 сентября 2011

Я думаю, что эта ошибка может появиться по разным причинам.

В первый раз, когда я столкнулся с этим, это было потому, что у меня был другой запуск программы в то же время. Закрытие другой программы решило проблему.

Во второй раз я столкнулся с этим, когда пытался использовать две камеры одновременно, просто экспериментируя со стереозрением. Чтобы обойти это, я добавил задержку между двумя захватами, и я мог запустить ее.

import time
from VideoCapture import Device

cam0 = Device(0)
cam1 = Device(1)

for i in xrange(30):
    cam0.saveSnapshot('video/image0_%d.jpg' % i, timestamp=1)
    time.sleep(0.05)
    cam1.saveSnapshot('video/image1_%d.jpg' % i, timestamp=1)
    time.sleep(0.1)

Я думаю, что причина этой ошибки (и почему вы могли не встретить ее на другом ноутбуке) в том, что некоторые драйверы не очень хорошо справляются с одновременным доступом. Когда вы пытаетесь получить данные из драйверов устройств в быстрой последовательности, некоторые структуры данных, которые имеют недостаточную блокировку, запутываются.

...