2012-02-22 4 views
0

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

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 минут для установки. Я подключил очень общую веб-камеру (даже не уверен, что это за бренд) и повторил три строки кода выше. Я видел, как снимок сделан с моей веб-камеры. Так что все работало на Linux, и было очень просто.

ответ

1

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

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

sudo apt-get install cheese 

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

+0

~ Спасибо за информацию и работу над этим отличным CV пакетом! Python on linux - это моя среда разработки, поэтому я не очень расстроен из-за проблем с совместимостью с драйверами Windows. У меня просто есть окно Windows 7, поэтому я попробовал это первым. Веб-камера работает со скайпом и видеочатом Google, поэтому я не уверен, почему simpleCV не собирал его. Спасибо за ссылку на документы, вот что мне нужно. Теперь, если я смогу заставить ZXING работать для чтения штрих-кодов, тогда все будет готово. –

+0

Нет проблем. Дайте мне знать, как работает ZXING, я только что обновил оболочку, поэтому теперь он правильно устанавливается как модуль, хотя я не тестировал его в Windows. Кроме того, я чаще проверяю наш персональный справочный форум (http://help.simplecv.org), если вы ищете более быстрые ответы. – xamox

+0

Хорошо, я попробую и дам вам знать. –

3

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

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() 
+0

Спасибо за помощь. Знаете ли вы команды для отображения этих ошибок? –

+0

Я проверил, и 'cam' определен как объект SimpleCV.Camera.Camera, а' img' определен как объект SimpleCV.ImageClass.Image. –

+0

Вы разработчик программного обеспечения или энтузиаст? Обновлен мой ответ. – karlphillip