Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / API completo y ligero para el uso de webcams desde java

API completo y ligero para el uso de webcams desde java

Por jc mouse martes, septiembre 10, 2019

Webcam Capture es un API  que permite usar una cámara web incorporada o externa directamente desde código Java utilizando para ello solo las bibliotecas proporcionadas, los usuarios pueden leer imágenes desde una webcam e incluso detectar el movimiento. Está diseñado para abstraer las características de la cámara de uso común y admite múltiples frameworks de captura.

Webcam Capture API fue desarrollado por el ingeniero de software polaco Bartosz Firyn (sarxos) en primera instancia como una prueba de concepto después de leer el libro de Andrew Davison titulado «Killer Game Programming»  luego sarxos decidió escribir un contenedor de propósito general para diferentes API (como JMF, OpenCV, OpenIMAJ, LTI-CIVIL, VLC) y el resultado fue la biblioteca que se menciona en este post. Webcam Captura esta bajo un Copyright (C) 2011 – 2014 Bartosz Firyn and contributors que se puede leer a detalle en la página del proyecto (http://webcam-capture.sarxos.pl/)

Características:

  • API simple, segura para subprocesos y sin bloqueo
  • No requiere software adicional
  • Multiplataforma (Windows, Linux, Mac OS, etc.) y varias arquitecturas (32 bits, 64 bits, ARM)
  • Capture imágenes de cámaras web de PC incorporadas o conectadas por dispositovos USB
  • Capture imágenes de cámaras IP / de red (como MJPEG o JPEG)
  • Detector de movimiento
  • Disponible en Maven Central o como binario ZIP independiente
  • Admite múltiples frameworks de captura: OpenIMAJ, LTI CIVIL, Java Media Framework (JMF), Freedom for Media in Java (FMJ), OpenCV via JavaCV, VLC via vlcj, GStreamer (0.10.x only) via gstreamer-java MJPEG IP Cameras

¿Qué se puede hacer con esta API?

Webcam Capture se destaca por su facilidad de implementación, por ejemplo a continuación se muestra el código necesario del clásico «Hola Mundo», en este caso, para tomar una captura de la webcam y guardar esta en disco.

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

Webcam Capture nos proporciona una variada selección de códigos de ejemplo

  • Cómo detectar la cámara web
  • Cómo tomar una foto y guardarla en un archivo
  • Cómo mostrar la imagen de la cámara web en un panel Swing
  • Cómo escuchar en eventos de conexión / desconexión de la cámara
  • Cómo configurar la resolución de captura
  • Cómo configurar una resolución de captura no estándar
  • Cómo guardar la imagen capturada en PNG / JPG / GIF / BMP, etc.
  • Cómo capturar con muchos hilos paralelos
  • Cómo detectar movimiento
  • Cómo mostrar imágenes de múltiples cámaras IP exponiendo imágenes en formato JPG
  • Cómo mostrar la imagen de la cámara IP exponiendo la transmisión MJPEG
  • Cómo usar el controlador compuesto para mostrar imágenes de cámara IP incorporadas

Y también se  incluye ejemplos más avanzados como:

reconocimiento facial

lectura de código QR

webcams con javafx

  • Cómo usar la API de captura de cámara web en JavaFX y FXML
  • Cómo usar la API de captura de cámara web en SWT
  • Cómo usar WebcamImageTransformer para dibujar efectos directamente en la imagen de la cámara

enjoy!

Tags

Artículos similares

Blog MVC en PHP (Código Fuente)

En este post dejo el código fuente de un blog en PHP desarrollado siguiendo el patrón de diseño MVC (Modelo, Vista y Con[...]

Transición de imágenes al estilo PowerPoint

¿Qué es una transición? Una transición es un efecto de movimiento que se da entre una imagen y la siguiente en una prese[...]

JCPanel 3.0

Nueva versión de un viejo proyecto swing «JCMousePanel» que nos permitía agregar imágenes en los contenedores JPanel. En[...]

Cambiar plataforma JDK en Netbeans

Es recomendable tener actualizado la Maquina Virtual Java de nuestro equipo para poder disfrutar de las mejoras que trae[...]

Edita fotografias gratis con esta IA de Google

Google AI Studio es una herramienta que permite simplificar la utilizacion de modelos de Inteligencia Artificialde Googl[...]

Control de Stock en Java (Parte 1)

Un SGA «Sistema de Gestión de Almacenes»  es un programa informático destinado a gestionar las entradas y salidas de pro[...]