Захват изображения с веб-камеры в Java? - PullRequest
80 голосов
/ 09 ноября 2008

Как я могу непрерывно захватывать изображения с веб-камеры?

Я хочу поэкспериментировать с распознаванием объектов (возможно, используя Java Media Framework).

Я думал о создании двух потоков

одна нить:

  • Узел 1: захват живого изображения
  • Узел 2: сохранить изображение как "1.jpg"
  • Узел 3: подождите 5 секунд
  • Узел 4: повтор ...

другая тема:

  • Узел 1: дождитесь захвата изображения
  • Узел 2: с помощью «1.jpg» получаем цвета с каждого пикселя
  • Узел 3: сохранение данных в массивах
  • Узел 4: повторить ...

Ответы [ 16 ]

1 голос
/ 10 ноября 2008

Java обычно не любит доступ к оборудованию, поэтому вам понадобится какая-то программа-драйвер, как сказал goldenmean. Я сделал это на своем ноутбуке, найдя программу командной строки, которая делает снимок. Тогда это то же самое, что объяснил Goldenmean; вы запускаете программу командной строки из вашей java-программы в процедуре takepicture (), а остальная часть кода выполняется так же.

За исключением части о считывании значений пикселей в массив, вам лучше будет сохранить файл в BMP, который уже почти соответствует этому формату, затем использовать стандартные библиотеки изображений Java на нем.

Использование программы командной строки добавляет зависимость к вашей программе и делает ее менее переносимой, но какова была веб-камера, верно?

0 голосов
/ 09 мая 2012

Попробуйте использовать JMyron Как использовать веб-камеру с помощью Java . Я думаю, что использование JMyron - это самый простой способ получить доступ к веб-камере с помощью Java. Я пытался использовать его с 64-разрядным процессором, но он выдал ошибку. Хотя на 32-битном процессоре он работал нормально.

0 голосов
/ 05 октября 2009

Рекомендуется использовать FMJ для мультимедийного Java-приложения.

0 голосов
/ 27 декабря 2008

FMJ может сделать это, также как и вспомогательная библиотека, которую он использует, LTI-CIVIL. Оба находятся на sourceforge.

0 голосов
/ 10 ноября 2008

Для этого * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 * * * *. Он используется в некоторых работах по распознаванию изображений, таких как эта ссылка.

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

0 голосов
/ 10 ноября 2008

Я полагаю, что прикладное программное обеспечение для веб-камеры, которое поставляется вместе с веб-камерой, или ваше собственное программное обеспечение для веб-камеры Windows можно запустить в пакетном сценарии (сценарий Windows / DOS) после включения веб-камеры (т. Е. Если это необходимо). внешний источник питания). В сценарии bacth вы можете добавить соответствующую задержку для захвата после определенного периода времени. И продолжайте выполнять команду захвата в цикле.

Полагаю, это должно быть возможно

-AD

...