Подтвердить что ты не робот

Лучший способ доступа к веб-камере в Java

Мне нужно получить доступ к веб-камере с помощью Java. Это то, что я хочу сделать

  • Доступ к веб-камере

  • Теперь пользователь может видеть работу веб-камеры, потому что его лицо видно на экране (слышали, что есть некоторые библиотеки, которые не показывают видеовыход веб-камеры)

  • когда пользователь нажимает кнопку сохранения, делает снимок и сохраняет его

Я пробовал много способов сделать это с долгого времени.

  • JMF - теперь он мертв
  • FMJ - теперь он тоже мертв
  • VLCJ - слишком много, потому что я не создаю музыкальный/видеоплеер, и он ожидает установки VLC.
  • Xuggler - слишком много и тяжелая работа.
  • JMyron - не работает
  • JavaFX - я думал, что он может это сделать, но похоже, что он не может

Я даже доволен, если библиотека просто ТОЛЬКО делает вышеупомянутое, потому что этого достаточно для меня. Но я ожидаю, что это тоже будет просто. Действительно отлично, если он не использует библиотеки DLL, потому что он не является независимым от платформы, если он это делает. Понимаю, может ли он ОБРАТИТЬ камеру, без указания имени камеры и другой информации, как в VLCJ (потому что могут быть тысячи марок камер, поэтому я не могу создать список из тысяч элементов в нем). И я создаю настольное приложение, а не веб-приложение.

Если вы знаете такую ​​библиотеку, будьте любезны, чтобы сообщить мне об этом. Также приветствуются другие библиотеки (которые могут не соответствовать всем моим требованиям, но подходят для основного требования). Пожалуйста, помогите

4b9b3361

Ответ 1

Это много раз обсуждалось в SO. Вот несколько ссылок, которые помогут вам начать:

SO: Захват изображения с веб-камеры в java?

SO: Каков наилучший способ захвата изображений с живого видеоустройства для использования Java-приложением?

openCVF апплет: http://www.colorfulwolf.com/blog/2011/07/05/accessing-the-webcam-from-inside-a-java-applet/

config: http://ganeshtiwaridotcomdotnp.blogspot.in/2011/12/opencv-javacv-eclipse-project.html

Ответ 2

Я думаю, что проект, который вы ищете, это: https://github.com/sarxos/webcam-capture (я автор)

Существует пример, который работает точно так, как вы описали - после его запуска появляется окно, в котором после нажатия кнопки "Старт" вы можете видеть живое изображение с устройства веб-камеры и сохранять его в файл после нажатия кнопки "Snapshot" (, обратите внимание, что счетчик FPS в углу можно отключить):

snapshot

Проект переносимый (WinXP, Win7, Win8, Linux, Mac, Raspberry Pi) и не требует установки дополнительного программного обеспечения на ПК.

API действительно хорош и прост в освоении. Пример, как захватить одно изображение и сохранить его в PNG файле:

Webcam webcam = Webcam.getDefault();
webcam.open();
ImageIO.write(webcam.getImage(), "PNG", new File("test.png"));