Source: https://geekytheory.com/tutorial-raspberry-pi-uso-de-picamera-con-python?utm_source=related_posts&utm_campaign=related_posts
Timestamp: 2020-07-14 22:51:47+00:00

Document:
Tutorial Raspberry Pi - Uso de PiCamera con Python - Geeky Theory
¡Hola! Bueno como habrán leído hay muchas formas de usar nuestra Pi Camera con Python, sin embargo, siempre era con subprocesos, ejecutando un programa distinto a Python dentro de este. Hasta que hace pocos días salio la noticia en Raspberrypi.org de una librería para controlar nuestra Pi Camera, nativa de Python. Con esta librería podemos controlar desde un preview hasta el control del led que incluye la Pi Camera. Todo esto gracias a Dave Hughes.
Instalemos Para instalar como todo programa es recomendable casi necesario actualizar nuestra Raspberry Pi, para que pueda encontrar la librería en los repositorios, usamos los típicos comandos para la terminal;
y para descargar e instalar la librería basta con ejecutar esto en el Terminal.
Vista previa Esta opción nos permite visualizar en tiempo real la imagen dela cámara, ademas de poder ajustar los parámetros como brillo y ver los resultados inmediatamente en la vista previa. Crearemos un ejemplo que nos permita ver la vista previa.
with picamera.PiCamera() as picam:
picam.start_preview()
picam.stop_preview()
picam.close()
Lo guardamos y lo ejecutamos como cualquier otro programa de python mediante consola. Tomar una Foto Tomar una foto con esta librería basta con una función, como lo muestra el siguiente ejemplo:
picam.capture('nombre.jpg')
En el ejemplo fue guardada una captura con el formato 'jpg' pero de la misma forma podemos guardar la captura en 'png', 'gif', 'bmp', 'yuv', 'rgb' y 'raw'. Lo que es bastante cómodo para poder guardar directamente al formato que ocupemos. Filmar un Vídeo Al igual que el anterior ejemplo basta con una función, en el siguiente ejemplo mostraremos con preview y gravaremos un vídeo al mismo tiempo de 20 segundos.
picam.start_recording('video.h264')
picam.wait_recording(20)
picam.stop_recording()
Por el momento solo he podido grabar en formato H264, es importante agregar el wait_recording() ya que aparte de servir como el time.sleep(), hace un reconocimiento al mismo tiempo que va gravando y si por ejemplo ya no hay espacio en disco para la grabación. Resolución Como notaron al tomar la foto es de mayor resolución que el vídeo incluso que la vista previa. "En concreto, el sensor de la cámara tiene una resolución de 2592x1944 píxeles (aproximadamente 5 mega píxeles en el área), pero sólo los 1920x1080 píxeles en el centro del sensor se utilizan para las previsualizaciones o video" Dave Hughes. Por esta razón y muchas mas, la librería cuanta con una opción para seleccionar la resolución que queramos como en el siguiente ejemplo.
picam.resolution = (2592, 1944)
picam.capture('foto.jpg')
También debido a que entre mas resolución la imagen es mas pesada, así que también nos brindan un modo de reescalar la imagen, es decir que abarque todo lo que la cámara ve pero que se guarde en una resolución menor .
picam.capture('foto.jpg',resize=(1024,768))
Led Aveces queremos tomar fotos y que nadie se de cuenta por desgracia la cámara tiene un led que se enciende al usarla, ahora gracias a esta librería podemos desactivar este molesto led.
picam.led= False
Nota: Para poder ejecutar en caso de ajustar el led, tendremos que ejecutar como root, o bien con sudo python programa.py ISO Para aquellos que sepan un poco mas de fotografía les agradara saber que se puede ajustar el ISO, para poder sacar mejores fotografías y es muy sencillo, solo tenemos que llamar a la función ISO e igualarla a un valor, que pueden ser alguno de estos; 100, 200, 320, 400, 500, 640, 800.
picam.ISO =500
Velocidad de Obturación Otra característica que me gusto mucho es que puedes controlar la velocidad de obturación, lo que te permite sacar fotografías a un mas profesionales. Los valores de dan en micro segundos.
picam.ISO =100
picam.shutter_speed= 300000
Brillo Ademas de todas las anteriores igual se puede ajustar el brillo basta con asignar un valor del 0 al 100 .
picam.brightness= 60
Efectos de imagen Como toda buena cámara, la Picam cuenta con efectos de cámara, ahora mismos solo he probado 'negative' , 'solarize' y 'gpen'
picam.led = False
picam.image_effect = 'negative'
Nota: Los parámetros como brillo, ISO, contraste, efectos de imagen , saturación y nitidez se pueden ajustar cuando la vista previa esta activada. Se pueden ajustar infinidad de cosas mas, como saturacion, nitidez, rotar imagen, hacer streaming, time lapse, ráfagas de fotos muy rápidas. Los invito a que ustedes mismos experimenten con toda esta librería, encontraran toda la documentación en PICAMERA . Este es un TimeLapse que hice cuando estaba probando la librería, espero y les guste. Gracias por su tiempo, les mando un saludo y suerte en sus proyectos...
Tutorial Raspberry Pi: Conexión a Xively (Internet Of Things)
Generar un ejecutable .EXE a partir de un .py

References: Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución