Pular para o conteúdo principal

Introdução ao reTerminal e à câmera Pi com OpenCV

Introdução

Neste tutorial, vamos guiá-lo pelo processo de configuração do reTerminal com um Raspberry Pi OS Bullseye ou BookWorm OS recém-instalado. Nosso objetivo é interagir com a PiCam e realizar atividades de processamento de imagem e deep learning usando a biblioteca OpenCV.

OpenCV

OpenCV (Open Source Computer Vision Library): OpenCV é uma poderosa biblioteca de visão computacional de código aberto, projetada para tarefas de visão computacional em tempo real. Ela fornece um conjunto abrangente de ferramentas e funções que permitem aos desenvolvedores trabalhar com imagens e vídeos, oferecendo soluções para tarefas como processamento de imagem, detecção de objetos, reconhecimento facial e muito mais. Amplamente utilizada tanto na academia quanto na indústria, a OpenCV oferece suporte a várias linguagens de programação, tornando-se uma escolha versátil para aplicações de visão computacional em diferentes plataformas. Sua flexibilidade e extensa documentação a tornam um recurso inestimável para qualquer pessoa envolvida em desenvolvimento de visão computacional.

Primeiros Passos

Antes de iniciar este projeto, talvez você precise preparar seu hardware e software com antecedência, conforme descrito aqui.

Preparação de hardware

Preparação de software

Recomendamos instalar a versão Bullesye ou a versão Bookworm do Raspberry Pi OS 64 bits a partir do site oficial. Se você preferir instalar um novo Raspbian OS, siga as etapas descritas neste guia

Instalar OpenCV

Sinta-se à vontade para pular o processo de instalação detalhado; temos um atalho para você. Siga estas etapas simplificadas se você estiver usando o Bullseye OS:

  • Passo 1 Primeiro, clone este repositório Git no seu Raspberry Pi assim:
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal
  • Passo 2 Em seguida, utilize nosso script para instalar facilmente os pacotes Python necessários e baixar o modelo EfficientDet-Lite. Navegue até esta pasta.
cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam/ObjectDetection
  • Passo 3 O script instala as dependências necessárias e baixa os modelos TFLite para esta série de tutoriais.
sh setup.sh

Siga estas etapas se você estiver usando o Bookworm OS:

  • Passo 1 No seu Terminal, execute o seguinte comando para instalar
sudo apt-get install libopencv-dev python3-opencv
  • Passo 2 Em seguida, clone este repositório Git no seu Raspberry Pi assim:
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal

Capturar um stream de vídeo

Em uma nova janela de terminal, navegue até Opencv_and_piCam

cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam

Neste tutorial, vamos começar com um programa "Hello World" usando a PiCam e o OpenCV no nosso reTerminal. Você pode localizar o arquivo captureimages.py em nosso repositório clonado. Vamos explorar um stream de vídeo ao vivo e, se você pressionar 'q', o stream será encerrado de forma suave. Você também pode usar a IDE Thonny para executar o script em Python.

python captureimages.py

Você verá um stream de vídeo como o abaixo.

Para sua referência, forneceremos todo o trecho de código para sua conveniência.

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 uma foto e salvá-la

Aqui, vamos capturar uma imagem estática usando a PiCam e o OpenCV no nosso ReTerminal. Encontre o arquivo saveimage.py em nosso repositório clonado. Faremos o streaming de vídeo ao vivo e, se você pressionar 's', uma foto será capturada. Você também pode usar a IDE Thonny para executar o script em Python.

python saveimage.py

Você encontrará uma imagem capturada no mesmo diretório.

Para sua referência, forneceremos todo o trecho de código para sua conveniência.

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()

Suporte técnico

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte e garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...