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

Khipu Agenda Personal gratis

Completa agenda para organizar tu vida personal y/o profesional, si te olvidas de acontecimientos familiares, citas de t[...]

Obtener Metadatos de un ResultSet

En este post mostramos un ejemplo de uso de la interface ResultSetMetaData el cual se extiende Wrapper que es una interf[...]

Verificador de Número de Serie del BCB

Tras el terrible siniestro aéreo ocurrido en la ciudad de El Alto que se llevo la vida de varios ciudadanos bolivianos y[...]

Efecto de explosión al abrir un JPanel

En este tutorial crearemos un interesante efecto de explosión al momento de abrir un JPanel, este efecto puede extenders[...]

Conoce App Denuncia: La aplicación boliviana para frenar la corrupción policial

La Policía Boliviana lanza su propia aplicación móvil que está destinada para denunciar hechos de corrupción dentro de l[...]

Procedimientos almacenados en MySQL con Megan Fox

Los procedimientos almacenados en MySQL son similares a los procedimientos de otros lenguajes de programación en el sent[...]