Captura de imagem em Beaglebone Black usando OpenCV (Parte 12/15)

Como já expliquei como fazer a interface da web cam com o BBB aqui falarei sobre a captura de imagem usando programação de script python. É um tutorial simples onde você também pode adicionar efeitos na forma de imagem em preto e branco, detecção de movimento, imagem nítida, etc. Usei a biblioteca opencv que programa funções de computador em tempo real e aprendizado de máquina.

Ferramentas necessárias:

  • Beaglebone Preto
  • Webcam

Configuração do ambiente

Antes de prosseguir, crie uma configuração conforme explicado em como fazer a interface da web cam com o BBB. Conecte a webcam ao BBB através da porta USB. Conecte-se à internet e ligue o BBB. Você tem acesso remoto do BBB no desktop.

Protótipo de câmera de segurança baseada em Beaglebone Black

Fig. 1: Protótipo de câmera de segurança baseada em Beaglebone Black

Primeiro de tudo, atualize a versão do seu kernel. (Ignore se já tiver feito).

Instale o Opencv

Instale o opencv no BBB do repositório debian ou site oficial. Aqui eu instalei do repositório debian. Execute os seguintes comandos no prompt de comando:

sudo apt-get install python-opencv
sudo apt-get install libopencv-dev

Instale as dependências

Você precisa instalar algumas dependências como build, imagem, vídeo, GUI etc. no BBB.

Passo 1: Instale a dependência de compilação executando as seguintes instruções:

sudo apt-get install build-essential cmake

Passo 2: Instale a biblioteca de E/S de mídia executando as seguintes instruções:

sudo apt-get install zlib1g-dev libwebp-dev libpng-dev libjasper-dev libtiff5-dev libopenexr-dev libgdal-dev libjpeg-dev

Passo 3: Instale a biblioteca GUI executando as seguintes instruções:

sudo apt-get install qt5-default libvtk6-dev

Passo 4: Instale a biblioteca de E/S de vídeo executando as seguintes instruções:

sudo apt-get instalar libavcodec-dev libavformat-dev libdc1394-22-dev libswscale-dev libtheora-dev libxvidcore-dev libx264-dev libvorbis-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev – desenvolvedor

Introdução ao programa

Abra o terminal de comando e crie um novo arquivo usando o comando touch com extensão .py (ou seja, image.py). Abra o arquivo com qualquer editor de texto (ou seja, nano, vim etc.) e escreva um código em linguagem python.

Opencv é uma ótima biblioteca de aprendizado de máquina e ciência da computação escrita em C, C++, java e python. Ele suporta excelente funcionalidade de processamento de imagem e vídeo e funciona bem na plataforma Linux embarcada. Você precisa ler a imagem do dispositivo web cam que está conectado ao BBB. Será zero se uma única webcam estiver conectada. Então, basta passar zero da função da seguinte forma:

câmera = cv2.VideoCapture(0)

Imagem da webcam conectada ao Beaglebone Black

Fig. 2: Imagem da webcam conectada ao Beaglebone Black

Criei um tamanho de quadro de 1280 x 720 que funciona bem com BBB. Você pode ajustar o tamanho do quadro conforme desejar, compatível com a biblioteca. Defina o tamanho do quadro da imagem através das seguintes funções:

cam.set (cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 1280)
cam.set (cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 720)

Agora, capture a imagem do dispositivo (ou seja, web cam) seguindo a função:

cam.read( )

Forneça um atraso de pelo menos 10 ms após a captura da imagem seguindo a função:

cv2.waitKey(10)

Se você deseja mostrar a imagem na tela, execute a seguinte função:

cv2.imshow (“Imagem de teste”, img)

Salve o arquivo de imagem com um nome específico seguindo a função:

cv2.imwrite (“demopic.bmp”, img)

Diagramas de circuito

Circuito-Diagrama-Beaglebone-Black-Security-Camera

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.