SimpleCV базовая отладка getImage - PullRequest
0 голосов
/ 22 февраля 2012

Я только что успешно установил SimpleCV на моем Windows 7 Dell XPS.У меня подключена веб-камера HP Deluxe KQ246AA.Я перешел к оболочке SimpleCV.Я пытаюсь запустить учебник, чтобы сделать снимок с веб-камеры.Из оболочки SimpleCV я выполняю следующие строки:

cam = Camera()
img = cam.getImage()
img.show()

После первой команды загорается индикатор на моей веб-камере.После второй команды ничего не происходит.После третьей команды я получаю текстовый вывод: <SimpleCV.Display.Display instance at 0x038D2A58>, и появляется всплывающее окно, которое полностью черное, а затем это новое окно выполняет классическое окно «Не отвечает» и спрашивает меня, хочу ли я принудительно закрыть окно.Когда я закрываю оболочку, свет на веб-камере выключается.

Я также пытался:

img.save('C:/path/to/file/name.jpg');

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

Я пытался ссылаться на документы SimpleCV (http://doc.simplecv.org/),, но ссылка, по-видимому,несуществующий. Я думаю, что я действительно выиграю от SimpleCV. У кого-нибудь есть какие-либо предложения, как я буду отлаживать эту проблему? Или, где документация? Я бы по крайней мере, чтобы убедиться, что я могу правильно захватывать изображения с веб-камеры. Затем получитеначал с некоторыми другими функциями.

** EDIT **

Я установил пакет SimpleCV из .deb, загруженный с их веб-сайта, на мой Thinkpad X61s под управлением Ubuntu 10.10. 5 минут для установки nЯ подключил очень общую веб-камеру (даже не знаю, какой это бренд) и повторил 3 строчки кода, приведенного выше. Я ДЕЙСТВИТЕЛЬНО видел, как снимок с моей веб-камеры подходит. Так что все работало на Linux и было очень простым.

Ответы [ 2 ]

3 голосов
/ 22 февраля 2012

Рассмотрим следующий код:

img = cam.getImage()

, если по какой-либо причине устройство не может получить изображение, img будет иметь значение NULL и вызов img.show() обязательно приведет к сбою приложения.Вам необходимо добавить правильные проверки, чтобы предотвратить подобные проблемы:

import sys

cam = Camera()
if (not cam)
    print 'Camera() Failed!'
    sys.exit(-1)

img = cam.getImage()
if (not img)
    print 'getImage() Failed!'    
    sys.exit(-1)

# Everything succeeded, display image!
img.show()
1 голос
/ 27 февраля 2012

Я один из разработчиков SimpleCV. Извините, я не заметил, что наш doc.simplecv.org не работает. Я постараюсь, чтобы он сразу заработал, просто ярлык на http://www.simplecv.org/doc/.

Камера может просто не работать на Windows, или вам, возможно, придется установить драйверы вручную. Linux гораздо лучше справляется с этим. Вы также можете проверить свою камеру на Linux, установив программу под названием cheese из магазина приложений или:

sudo apt-get install cheese

Обычно я парень из окон. Я не нашел хорошего средства просмотра веб-камеры Windows, которое является бесплатным и открытым исходным кодом, чтобы проверить, работает ли ваша камера. Мы работаем над 1.3 и пытаемся пройти тестирование системы, чтобы уведомить вас, если возникнут какие-либо проблемы. Посмотрите, можете ли вы проверить, работает ли ваша камера в Windows, прежде чем пытаться использовать SimpleCV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...