Getting start with reTerminal and Pi camera with OpenCV
Introducción
En este tutorial, te guiaremos a través del proceso de configuración del reTerminal con un sistema operativo Raspberry Pi OS Bullseye o BookWorm recién instalado. Nuestro objetivo es interactuar con la PiCam y realizar procesamiento de imágenes y actividades de aprendizaje profundo utilizando la biblioteca OpenCV.
OpenCV
OpenCV (Open Source Computer Vision Library): OpenCV es una potente biblioteca de visión por computadora de código abierto diseñada para tareas en tiempo real. Proporciona un conjunto completo de herramientas y funciones que permiten a los desarrolladores trabajar con imágenes y videos, ofreciendo soluciones para procesamiento de imágenes, detección de objetos, reconocimiento facial y más. Ampliamente utilizada tanto en la academia como en la industria, OpenCV admite varios lenguajes de programación, lo que la convierte en una opción versátil para aplicaciones de visión por computadora en diferentes plataformas. Su flexibilidad y amplia documentación la hacen un recurso invaluable para cualquier persona involucrada en el desarrollo de visión artificial.
Primeros Pasos
Antes de comenzar este proyecto, debes preparar tu hardware y software como se describe a continuación.
Preparación de Hardware
reTerminal | PiCam |
---|---|
![]() | ![]() |
Preparación de Software
Recomendamos instalar la versión Bullseye o Bookworm del sistema operativo Raspberry Pi de 64 bits desde su sitio web oficial. Si prefieres instalar un nuevo sistema operativo Raspbian, sigue los pasos descritos en esta guía
Instalar OpenCV
Puedes omitir el proceso de instalación detallado; te damos un atajo. Sigue estos pasos simplificados si estás usando Bullseye OS:
- Paso 1 Primero, clona este repositorio Git en tu Raspberry Pi así:
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal
- Paso 2 Luego, usa nuestro script para instalar fácilmente los paquetes de Python necesarios y descargar el modelo EfficientDet-Lite. Navega a esta carpeta:
cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam/ObjectDetection
- Paso 3 El script instalará las dependencias necesarias y descargará los modelos TFLite para esta serie de tutoriales:
sh setup.sh
Sigue estos pasos si estás usando Bookworm OS:
- Paso 1 En tu Terminal ejecuta el siguiente comando para instalar:
sudo apt-get install libopencv-dev python3-opencv
- Paso 2 Luego, clona este repositorio Git en tu Raspberry Pi:
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal
Tomar una Transmisión de Video
En una nueva ventana de terminal, navega a Opencv_and_piCam:
cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam
En este tutorial, comenzaremos con un programa "Hola Mundo" usando la PiCam y OpenCV en nuestro reTerminal. Puedes encontrar el archivo captureimages.py en el repositorio clonado. Estaremos explorando una transmisión de video en vivo, y si presionas 'q', la transmisión se detendrá. También puedes usar Thonny IDE para ejecutar el script en Python.
python captureimages.py
Verás una transmisión de video como la siguiente:

Como referencia, te proporcionamos el fragmento de código completo para tu comodidad:
import cv2
from picamera2 import Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280,720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()
while True:
im= picam2.capture_array()
cv2.imshow("Camera", im)
if cv2.waitKey(1)==ord('q'):
break
cv2.destroyAllWindows()
Capturar una Foto y Guardarla
Aquí, capturaremos una imagen fija usando la PiCam y OpenCV en nuestro ReTerminal. Encuentra el archivo saveimage.py en nuestro repositorio clonado. Estaremos transmitiendo video en vivo y si presionas 's', se capturará una foto. También puedes usar Thonny IDE para ejecutar el script.
python saveimage.py
Encontrarás la imagen capturada en el mismo directorio.
Aquí está el fragmento de código completo para tu referencia:
import cv2
from picamera2 import Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()
try:
while True:
im = picam2.capture_array()
cv2.imshow("Camera", im)
# Guardar una imagen cuando se presione una tecla (por ejemplo, 's')
key = cv2.waitKey(1)
if key == ord('s'):
# Guardar la imagen usando OpenCV
cv2.imwrite("captured_image.jpg", im)
print("¡Imagen guardada!")
# Salir del bucle cuando se presione 'q'
elif key == ord('q'):
break
finally:
# Liberar recursos
cv2.destroyAllWindows()
picam2.stop()
picam2.close()
Soporte Técnico
¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte distintos canales de soporte y asegurarnos de que tu experiencia con nuestros productos sea lo más fluida posible. Disponemos de varios medios de comunicación para satisfacer distintas necesidades y preferencias.