Skip to main content

Comenzando con reTerminal y cámara Pi con OpenCV

Introducción

En este tutorial, te guiaremos a través del proceso de configuración del reTerminal con un Raspberry Pi OS Bullseye o BookWorm OS recién instalado. Nuestro objetivo es interactuar con la PiCam y realizar actividades de procesamiento de imágenes y aprendizaje profundo utilizando la biblioteca OpenCV.

OpenCV

OpenCV (Open Source Computer Vision Library): OpenCV es una biblioteca de visión por computadora potente y de código abierto diseñada para tareas de visión por computadora 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 tareas como procesamiento de imágenes, detección de objetos, reconocimiento facial y más. Ampliamente utilizada tanto en el ámbito académico como en la industria, OpenCV soporta varios lenguajes de programación, convirtiéndola en una opción versátil para aplicaciones de visión por computadora en diferentes plataformas. Su flexibilidad y documentación extensa la convierten en un recurso invaluable para cualquier persona involucrada en el desarrollo de visión por computadora.

Comenzando

Antes de iniciar este proyecto, es posible que necesites preparar tu hardware y software con anticipación como se describe aquí.

Preparación del hardware

Preparación del Software

Recomendamos instalar la versión Bullesye o la versión Bookworm del SO Raspberry Pi de 64 bits desde su sitio web oficial. Si prefieres instalar un nuevo SO Raspbian, por favor sigue los pasos descritos en esta guía

Instalar OpenCV

Siéntete libre de omitir el proceso de instalación detallado; tenemos un atajo para ti. Sigue estos pasos simplificados si estás usando Bullseye OS:

  • Paso 1 Primero, clona este repositorio Git en tu Raspberry Pi de esta manera
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal
  • Paso 2 A continuación, utiliza nuestro script para instalar sin esfuerzo los paquetes de Python requeridos y descargar el modelo EfficientDet-Lite. Navega a esta carpeta.
cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam/ObjectDetection
  • Paso 3 El script instala las dependencias requeridas y descarga 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 A continuación, clona este repositorio Git en tu Raspberry Pi de esta manera
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 'Hello World' usando la PiCam y OpenCV en nuestro reTerminal. Puedes localizar el archivo captureimages.py en nuestro repositorio clonado. Estaremos explorando una transmisión de video en vivo, y si presionas 'q', la transmisión se detendrá elegantemente. Incluso puedes usar Thonny IDE para ejecutar el script de python.

python captureimages.py

Encontrarás un flujo de video como el siguiente.

Siguiendo tu referencia, proporcionaremos el fragmento de código completo para tu conveniencia.

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. Incluso puedes usar Thonny IDE para ejecutar el script de python.

python saveimage.py

Encontrarás una imagen capturada en el mismo directorio.

Siguiendo tu referencia, proporcionaremos el fragmento de código completo para tu conveniencia.

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)

# Save an image when a key is pressed (e.g., 's')
key = cv2.waitKey(1)
if key == ord('s'):
# Save the image using OpenCV
cv2.imwrite("captured_image.jpg", im)
print("Image saved!")

# Exit the loop when 'q' is pressed
elif key == ord('q'):
break

finally:
# Release resources
cv2.destroyAllWindows()
picam2.stop()
picam2.close()

Soporte técnico

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...