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