Introducción

Aprenda cómo conectar el módulo de cámara Raspberry Pi a su Raspberry Pi y tomar fotos, grabar videos y aplicar efectos de imagen.

Que necesitarás

Computadora Raspberry Pi con un puerto de módulo de cámara

Todos los modelos actuales de Raspberry Pi tienen un puerto para conectar el módulo de cámara.

Nota: Si desea utilizar un Raspberry Pi Zero, necesita un cable plano del Módulo de cámara que se ajuste al puerto más pequeño del Módulo de cámara del Raspberry Pi Zero.

Módulo de cámara Raspberry Pi

Hay dos versiones del módulo de cámara:

  • La versión estándar , diseñada para tomar fotografías con luz normal.
  • La versión NoIR , que no tiene un filtro infrarrojo, por lo que puede usarlo junto con una fuente de luz infrarroja para tomar fotos en la oscuridad

Conecte el módulo de la cámara

Asegúrese de que su Raspberry Pi esté apagada.

  1. Localice el puerto del módulo de cámara
  2. Tire suavemente hacia arriba de los bordes del clip de plástico del puerto
  3. Inserte el cable plano del módulo de cámara; asegúrese de que el cable esté en la dirección correcta
  4. Empuje el clip de plástico en su lugar
  • Enciende tu Raspberry Pi.
  • Vaya al menú principal y abra la herramienta de configuración Raspberry Pi .

Seleccione la pestaña Interfaces y asegúrese de que la cámara esté habilitada :

Reinicia tu Raspberry Pi.

Cómo controlar el módulo de la cámara a través de la línea de comando

Ahora su módulo de cámara está conectado y el software está habilitado, pruebe las herramientas de línea de comandos raspistillraspivid.

  • Abra una ventana de terminal haciendo clic en el icono del monitor negro en la barra de tareas:

Escriba el siguiente comando para tomar una fotografía y guardarla en el escritorio:

raspistill -o Desktop/image.jpg
  • Presione Enterpara ejecutar el comando.

Cuando se ejecuta el comando, puede ver la vista previa de la cámara abierta durante cinco segundos antes de tomar una fotografía.

  • Busque el icono del archivo de imagen en el escritorio y haga doble clic en el icono del archivo para abrir la imagen.

Al agregar diferentes opciones, puede establecer el tamaño y el aspecto de la imagen que raspistilltoma el comando.

  • Por ejemplo, agregue -h-wpara cambiar el alto y el ancho de la imagen:
raspistill -o Desktop/image-small.jpg -w 640 -h 480

Ahora grabe un video con el Módulo de cámara utilizando el siguiente raspividcomando:

Para reproducir el archivo de video, haga doble clic en el video.h264icono del archivo en el escritorio para abrirlo en VLC Media Player.

Cómo controlar el módulo de cámara con código Python

La picamerabiblioteca Python le permite controlar su módulo de cámara y crear proyectos increíbles.

  • Abra un editor de Python 3, como Thonny Python IDE :
  • Abra un nuevo archivo y guárdelo como camera.py.
  • Nota: es importante que nunca guarde el archivo comopicamera.py .
  • Ingrese el siguiente código
from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
sleep(5)
camera.stop_preview()

Guarda y ejecuta tu programa. La vista previa de la cámara debe mostrarse durante cinco segundos y luego cerrarse nuevamente.

  • Nota: la vista previa de la cámara solo funciona cuando hay un monitor conectado a su Raspberry Pi. Si está utilizando acceso remoto (como SSH o VNC), no verá la vista previa de la cámara.
  • Si su vista previa está al revés, puede rotarla 180 grados con el siguiente código:
camera = PiCamera()
camera.rotation = 180
  • Puede girar la imagen 90180270grados. Para restablecer la imagen, configure rotationen 0grados.

Es mejor hacer que la vista previa sea ligeramente transparente para que pueda ver si se producen errores en su programa mientras la vista previa está activada.

  • Haga que la vista previa de la cámara sea transparente estableciendo un alphanivel:
camera.start_preview(alpha=200)

El alphavalor puede ser cualquier número entre 0255.

Toma fotos fijas con código Python

Ahora use el Módulo de cámara y Python para tomar algunas imágenes fijas.

  • Modifique su código para agregar una camera.capture()línea:
camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/image.jpg')
camera.stop_preview()
  • Nota: es importante sleepdurante al menos dos segundos antes de capturar una imagen, ya que esto le da tiempo al sensor de la cámara para detectar los niveles de luz.
  • Ejecuta el código.

Debería ver la vista previa de la cámara abierta durante cinco segundos, y luego se debería capturar una imagen fija. A medida que se toma la imagen, puede ver que la vista previa se ajusta brevemente a una resolución diferente.

Su nueva imagen debe guardarse en el escritorio.

  • Ahora agregue un bucle para tomar cinco fotos seguidas:
camera.start_preview()
for i in range(5):
    sleep(5)
    camera.capture('/home/pi/Desktop/image%s.jpg' % i)
camera.stop_preview()
  • La variable icuenta cuántas veces se ha ejecutado el ciclo, desde 0hasta 4. Por lo tanto, las imágenes se guardan como image0.jpgimage1.jpgy así sucesivamente.
  • Vuelva a ejecutar el código y mantenga el módulo de la cámara en su posición.

La cámara debe tomar una foto cada cinco segundos. Una vez que se toma la quinta imagen, se cierra la vista previa.

  • Mire su escritorio para encontrar las cinco nuevas imágenes.

Grabar video con código Python

¡Ahora graba un video!

  • Modifique su código para eliminar capture()y, en su lugar, agregue start_recording()ystop_recording()Su código debería verse así ahora:
camera.start_preview()
camera.start_recording('/home/pi/Desktop/video.h264')
sleep(5)
camera.stop_recording()
camera.stop_preview()
  • Ejecuta el código.

Su Raspberry Pi debe abrir una vista previa, grabar 5 segundos de video y luego cerrar la vista previa.

Cómo cambiar la configuración de la imagen y agregar efectos de imagen

El picamerasoftware Python proporciona una serie de efectos y configuraciones para cambiar el aspecto de sus imágenes.

Nota: algunas configuraciones solo afectan a la vista previa y no a la imagen capturada, algunas afectan solo a la imagen capturada y muchas otras afectan a ambas.

Establecer la resolución de la imagen

Puede cambiar la resolutionimagen que toma el módulo de cámara.

Por defecto, la resolución de la imagen está configurada para la resolución de su monitor. La resolución máxima es 2592 × 1944 para fotos fijas y 1920 × 1080 para grabación de video.

  • Use el siguiente código para establecer el resolutionmáximo y tomar una foto.Nota: también debe establecer la velocidad de fotogramas 15para habilitar esta resolución máxima.
camera.resolution = (2592, 1944)
camera.framerate = 15
camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/max.jpg')
camera.stop_preview()

La resolución mínima es 64 × 64.

  • Intenta tomar una foto con la resolución mínima.

Agrega texto a tu imagen

Puede agregar texto a su imagen usando el comando annotate_text.

  • Ejecute este código para probarlo:
camera.start_preview()
camera.annotate_text = "Hello world!"
sleep(5)
camera.capture('/home/pi/Desktop/text.jpg')
camera.stop_preview()

Cambiar el aspecto del texto agregado

  • Establezca el tamaño del texto con el siguiente código:
camera.annotate_text_size = 50
  • Puede ajustar el tamaño del texto para cualquier cosa entre 6160. El tamaño predeterminado es 32.

También es posible cambiar el color del texto.

  • En primer lugar, agregue Colora su importlínea en la parte superior del programa:
from picamera import PiCamera, Color

Luego, debajo de la importlínea, modifique el resto de su código para que se vea así:

camera.start_preview()
camera.annotate_background = Color('blue')
camera.annotate_foreground = Color('yellow')
camera.annotate_text = " Hello world "
sleep(5)
camera.stop_preview()

Cambiar el brillo de la vista previa

Puede cambiar el brillo de la vista previa. El brillo predeterminado es 50, y puede establecerlo en cualquier valor entre 0100.

  • Ejecute el siguiente código para probar esto:
camera.start_preview()
camera.brightness = 70
sleep(5)
camera.capture('/home/pi/Desktop/bright.jpg')
camera.stop_preview()

El siguiente bucle ajusta el brillo y también agrega texto para mostrar el nivel de brillo actual:

camera.start_preview()
for i in range(100):
    camera.annotate_text = "Brightness: %s" % i
    camera.brightness = i
    sleep(0.1)
camera.stop_preview()

Cambiar el contraste de la vista previa

De manera similar al brillo de la vista previa, puede cambiar el contraste de la vista previa.

  • Ejecute el siguiente código para probar esto:
camera.start_preview()
for i in range(100):
    camera.annotate_text = "Contrast: %s" % i
    camera.contrast = i
    sleep(0.1)
camera.stop_preview()

Agrega efectos de imagen geniales

Puede usar camera.image_effectpara aplicar un efecto de imagen particular.

Las opciones de efecto de imagen son:

  • none
  • negative
  • solarize
  • sketch
  • denoise
  • emboss
  • oilpaint
  • hatch
  • gpen
  • pastel
  • watercolor
  • film
  • blur
  • saturation
  • colorswap
  • washedout
  • posterise
  • colorpoint
  • colorbalance
  • cartoon
  • deinterlace1
  • deinterlace2

El efecto predeterminado es none.

  • Elija un efecto de imagen y pruébelo:
camera.start_preview()
camera.image_effect = 'colorswap'
sleep(5)
camera.capture('/home/pi/Desktop/colorswap.jpg')
camera.stop_preview()

Ejecute este código para recorrer todos los efectos de imagen con camera.IMAGE_EFFECTS:

camera.start_preview()
for effect in camera.IMAGE_EFFECTS:
    camera.image_effect = effect
    camera.annotate_text = "Effect: %s" % effect
    sleep(5)
camera.stop_preview()

Establecer el modo de exposición de imagen

Puede usar camera.exposure_modepara establecer la exposición a un modo particular.

Las opciones del modo de exposición son:

  • off
  • auto
  • night
  • nightpreview
  • backlight
  • spotlight
  • sports
  • snow
  • beach
  • verylong
  • fixedfps
  • antishake
  • fireworks

El modo predeterminado es auto.

  • Elija un modo de exposición y pruébelo:
camera.start_preview()
camera.exposure_mode = 'beach'
sleep(5)
camera.capture('/home/pi/Desktop/beach.jpg')
camera.stop_preview()
  • Puede recorrer todos los modos de exposición con camera.EXPOSURE_MODES, como lo hizo para los efectos de imagen.

Cambiar el balance de blancos de la imagen

Puede usar camera.awb_modepara establecer el balance de blancos automático en un modo preestablecido.

Los modos de balance de blancos automático disponibles son:

  • off
  • auto
  • sunlight
  • cloudy
  • shade
  • tungsten
  • fluorescent
  • incandescent
  • flash
  • horizon

El valor por defecto es auto.

  • Elija un modo de balance de blancos automático y pruébelo:
camera.start_preview()
camera.awb_mode = 'sunlight'
sleep(5)
camera.capture('/home/pi/Desktop/sunlight.jpg')
camera.stop_preview()

Puede recorrer todos los modos de balance de blancos automático con camera.AWB_MODES, como lo hizo para los efectos de imagen.

¿Qué sigue?

Ahora que sabe cómo usar su Módulo de cámara, podría, por ejemplo:

  • Agregue botones para controlar la cámara con la ayuda del código GPIO Zero Python
  • Integra la cámara con Minecraft Pi
  • Publique las fotos de la cámara en Twitter automáticamente
https://projects.raspberrypi.org/

One thought on “Comenzando con el módulo de cámara Raspberry Pi”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *