con - guardar imagen opencv python
Cómo capturar mediante programación una foto de webcam. (2)
¿Cuál es la forma más sencilla en Ubuntu 11.10 de guiar mediante programación (ya sea desde Bash o Python) el usuario para capturar una foto de cámara web de sí mismos?
Puedo lanzar una aplicación simple como Cheese, pero no veo una manera fácil de detectar o recuperar inmediatamente 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 debo reinventar la GUI para comunicarme con el usuario.
¿Hay algún tipo de script que sea un medio feliz, donde pueda iniciarlo y se imprima en la versión estándar del nombre de archivo de la imagen que tomó el usuario?
Me gusta usar pygame para eso, no requiere que abras una ventana SDL de Pygame, a diferencia de cuando quieres usarlo 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 solo guardará archivos "bmp" sin comprimir, es posible que desee combinarlo con PIL para escribir en otros formatos.
Si quieres hacer esto a través de Python, parece que tienes algunas opciones. La biblioteca de Pygame tiene la capacidad de acceder a las cámaras .
Si eso no es satisfactorio, puede ir a un nivel mucho más bajo y acceder a la API de Video 4 Linux 2 directamente usando las llamadas ioctl utilizando la biblioteca fcntl de Python .