Автоматизированное приложение веб-камеры / аппаратные проблемы - PullRequest
4 голосов
/ 06 августа 2010

Я начинаю разрабатывать автоматизированное приложение для веб-камеры. Цель состоит в том, чтобы автоматически делать снимки, выполнять некоторую обработку изображений и затем загружать результаты на FTP-сайт. Все эти задачи кажутся простыми.

Однако мне трудно найти приличную камеру. Я не хочу использовать простую веб-камеру или HD-веб-камеру, потому что качество изображения неподвижных кадров не очень хорошее. Я также с трудом нахожу доступную цифровую камеру, поддерживающую снимок USB или контроль.

Моя вторая проблема - это сама разработка. Я не совсем уверен, какой язык программирования использовать. У меня есть опыт работы с AS3, Processing, Java и некоторыми простыми C ++ и Open CV.

У тебя есть подсказка?

Ответы [ 3 ]

1 голос
/ 25 августа 2010

Что касается камеры, есть довольно хорошие веб-камеры, некоторые с качеством HD.Посмотрите на камеры на Logitech (я тестировал их API, и это неплохо), HD-камера стоит 99 долларов, что очень дешево.Если вы ищете что-то лучшее, я бы пошел с Nikon, поскольку у них также есть довольно хороший API для C # / C ++.Вы можете получить базовую зеркальную фотокамеру с простым 28-миллиметровым объективом за 500 долларов.Не используйте PowerShot, поскольку Nikon перестал поддерживать их API.Независимо от того, какую камеру вы решите купить, убедитесь, что правильный API доступен, поддерживается и бесплатный.

Что касается разработки, я бы выбрал C # / Java, поскольку они проще, чем C ++.Существует довольно много библиотек для обработки изображений для C # / Java, просто убедитесь, что камера поставляется с API, соответствующим выбранному вами языку.

Удачи.

0 голосов
/ 07 октября 2010

сначала получите изображение в ОЗУ:
Если вы используете CHDK, я предлагаю вам скопировать изображение из памяти камеры в ОЗУ, используя поддерживаемые языки сценариев CHDK - вы можете получить помощь на форуме CHDK http://chdk.setepontos.com/index.php для этого.

или, если это сложно, вы можете непрерывно копировать образ на жесткий диск и оттуда загружать в ОЗУ.(вам нужно позаботиться (удалить) о массивных изображениях, накопленных на жестком диске за короткий промежуток времени!)
Это звучит как «грубая сила», но ваша работа будет продолжена, пока вы будете исследоватьправильный подход.

выполнить обработку изображения:
как только изображение будет в ОЗУ, вы можете применять свои алгоритмы обработки изображения как обычно, например, с помощью библиотеки opencv.

надеюсь, это поможет вам

0 голосов
/ 04 сентября 2010

Обычно (по опыту) большинство USB-камер, которые отображаются как устройства обработки изображений через Windows, могут использоваться с JAI [Java Advanced Imaging]. Кроме того [на стороне .net / c ++] те же камеры можно использовать через DirectShow в качестве устройства захвата. Java / C # облегчит разработку, но ожидает потери производительности [даже с лучшими оптимизациями]. Кроме того, вы можете выполнять только до скорости камеры и линии передачи данных от камеры к компьютеру [USB1.0 серьезно ограничит приличную частоту кадров]

...