Захват снимков изображений с высоким разрешением с веб-камеры на Java

Кто-нибудь знает библиотеку Java, которую можно использовать для захвата снимков изображений с высоким разрешением с веб-камеры?

Точнее: - Обнаружение доступных веб-камер (ноутбуки могут иметь встроенную и внешнюю, подключенную через USB-соединение) - Выбрать веб-камеру для работы. - Определение доступных разрешений для захвата ИЗОБРАЖЕНИЯ (например, до 1280x1024 для веб-камеры с датчиком 1,3 Мп). Как правило, они намного больше, чем при захвате ВИДЕО (например, до 640x480 для той же веб-камеры). - Выберите разрешение для работы. - По запросу (вызов функции API) сделать снимок с выбранной камеры с выбранным разрешением.

Я пробовал: - JMF: отстой, не поддерживает автоматическое определение подключенных веб-камер. - FMJ: использует LTI-CIVIL для поддержки веб-камеры. - LTI-CIVIL: поддерживает только захват ВИДЕО. Код тоже очень старый (2007 год, если я правильно помню). Использует собственные библиотеки, написанные на C ++ для доступа к веб-камере. DirectX для Windows и Video4Linux для (очевидно) Linux. Но, глядя на код C ++, становится очевидно, что он ориентирован на потоковую передачу видео, что не является моей целью (как отражено в описании того, что мне нужно).

Я был бы признателен, если бы кто-нибудь мог указать мне библиотеку Java, которая подходит под нужный мне профиль.

Спасибо.


person Michael    schedule 10.07.2011    source источник
comment
По какой причине вы не можете использовать собственный фреймворк Windows?   -  person Thorbjørn Ravn Andersen    schedule 10.07.2011
comment
Собственная версия Windows не поддерживает захват изображений ›с разрешением 640 x 480 с веб-камер.   -  person Brent Faust    schedule 08.03.2013


Ответы (4)


openCV - популярная библиотека компьютерного зрения C ++. Однако у них также есть привязки к Java. http://code.google.com/p/javacv/

OpenCV дает вам доступ к обработке изображений и видео, а также к захвату изображений и видео с нескольких веб-камер.

person Nick    schedule 10.07.2011

Этот Java API должен выполнять свою работу: http://webcam-capture.sarxos.pl/ Следующие код делает снимок и сохраняет его как файл .png в папке рабочего пространства проекта. Обязательно просмотрите другие примеры создателя на их сайте.

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.github.sarxos.webcam.Webcam;

public class TakePictureExample {

public static void main(String[] args) throws IOException {

    // get default webcam and open it
    Webcam webcam = Webcam.getDefault();
    webcam.open();

    // get image
    BufferedImage image = webcam.getImage();

    // save image to PNG file
    ImageIO.write(image, "PNG", new File("test.png"));
}
}
person gwerven    schedule 14.05.2016

Следующий проект с открытым исходным кодом, webcamstudio http://code.google.com/p/webcamstudio/ отлично справился с использованием Java для поддержки веб-камер. Возможно, оттуда возьму какие-нибудь идеи.

person Mohamed Mansour    schedule 10.07.2011
comment
Спасибо, но я думаю, что сначала попробую openCV (рекомендуется ниже). - person Michael; 10.07.2011
comment
@ Майкл, можешь поделиться своим исследованием? Вы нашли хорошую библиотеку Java? - person vaibhav; 09.05.2012

Вы можете использовать JMyron, библиотека - здесь, и вы можете увидеть, как это работает с этот пример

person james_bond    schedule 10.07.2011
comment
Ну, в примере показан захват видеопотока (это я уже могу сделать с lti-civil). Попробую openCV, и если это тоже не удастся, я попробую jMyron, спасибо за информацию. - person Michael; 10.07.2011