2012-03-14 14 views
16

¿Cuál es la forma más sencilla en Ubuntu 11.10 para guiar mediante programación (ya sea desde Bash o Python) al usuario capturar una foto de cámaras de sí mismos?Cómo capturar mediante programación una foto de cámaras

que puede lanzar una aplicación sencilla como el queso, pero no veo una manera fácil de detectar inmediatamente o recuperar la foto que captura. También puedo acceder y grabar la transmisión de la cámara web directamente a través de OpenCV, pero tendría que reinventar la GUI para comunicarme con el usuario.

¿Hay algún tipo de script que es un término medio, en el que puedo lanzarlo, y se imprime en la salida estándar el nombre de archivo de la imagen que el usuario tomó?

+0

'sudo apt-get install streamer' – wim

+1

Consulte también: [? ¿Cómo puedo tomar imágenes de la cámara con Python] (http://stackoverflow.com/q/28418962/562769) –

Respuesta

35

Me gusta usar pygame para eso - No es necesario que abras una ventana de Pygame SDL, a diferencia de cuando quieres usarla para capturar eventos de teclado, por ejemplo.

import pygame.camera 
pygame.camera.init() 
cam = pygame.camera.Camera(pygame.camera.list_cameras()[0]) 
cam.start() 
img = cam.get_image() 
import pygame.image 
pygame.image.save(img, "photo.bmp") 
pygame.camera.quit() 

Aunque Pygame sólo grabará los archivos sin comprimir "BMP" - es posible que desee combinar con PIL escribir en otros formatos.

+2

Por ahora, pygame puede guardarse en png, jpg, tiff y bmp. Al menos fueron los que probé. Simplemente cambie la extensión y pygame lo detecta. – steffen

+0

pygame.camera.quit() no funciona; use cam.stop() en su lugar. – ingroxd

Cuestiones relacionadas