Compilação e instalação do OpenCV 3.1.0 na Raspberry Pi Zero W

OpenCV 3.1.0 na Raspberry Pi Zero W

A visão computacional é, sem dúvida, uma das coisas de revolucionou o mundo dos sistemas embarcados. A partir dela é possível criar aplicações e produtos que podem "enxergar" o ambiente, e com esses "olhos virtuais" buscar características no ambiente e permitir com que programas reajam às características encontradas. Dentre as bibliotecas e recursos de visão computacional disponíveis, sem dúvida o mais popular, e um dos mais completos existentes, é o OpenCV. O OpenCV é uma biblioteca Open-Source (livre para uso comercial e acadêmico) para visão computacional, com utilização vasta em sistemas embarcados Linux e Windows, incluindo Smartphones.

 

Dada a importância do OpenCV, este artigo irá lhe ensinar a executar a compilação e instalação do OpenCV 3.1.0 na Raspberry Pi Zero W. Apesar do foco do artigo na versão Zero W, este tutorial funciona sem problemas para a Raspberry Pi 3 também.

 

 

Materiais necessários

 

Para compilar o OpenCV para a Raspberry Pi Zero W, você precisará dos seguintes materiais:

  • Uma Raspberry Pi Zero W*;
  • Uma fonte de 5V com corrente de saída de 2A ou superior;
  • Roteador próximo (acesso à rede local e Internet) à Raspberry Pi Zero W (pois todo o procedimento será feito nela via SSH).

*O mesmo procedimento vale para a Raspberry PI 3

Além disso, é necessário que a Raspberry Pi esteja operante, com sistema operacional e conectividade à internet. Para saber como fazer isso, veja este tutorial.

 

 

Tutorial em vídeo

 

O tutorial contido neste artigo também está disponível em vídeo. Você pode visualiza-lo abaixo:

 

 

 

Script de instalação e compilação - explicação e passo-a-passo

 

O script completo pode ser visualizado no meu GitHub. Abaixo, serão explicadas cada uma das partes do mesmo.

 

Instalação dos pacotes necessários

 

O bloco de código a seguir é a parte do script destinada à instalação automática dos pacotes necessários para o OpenCV (pacotes vinculados às imagens, codecs de vídeo, etc.): 

 

Note que todos os comandos de instalação de pacote possuem o argumento -y. Isso tem como finalidade não solicitar confirmação do usuário para instalar os pacotes (algo importante para o script ser encarado como automático).

 

Download do código-fonte

 

O download do código-fonte do OpenCV 3.1.0 é feito no bloco de código abaixo. Note que é baixado, além do código "oficial", os módulos extras. Se você dispõe de bom espaço de armazenamento, é recomendável que tudo seja baixado neste momento para não haver necessidade futura de recompilação de módulos extras.

 

 

Instalação do numpy

 

O numpy é um pacote do Python destinado a se trabalhar com matrizes e arrays multidimensionais. Como imagens são, computacionalmente, matrizes e arrays multidimensionais (número de dimensões varia conforme formato da imagem), você irá precisar desse pacote mais cedo ou mais tarde caso for trabalhar com Python e OpenCV.

 

Sua instalação é feita conforme comando abaixo:

 

Preparação do build com cmake

 

Para preparar o build, é utilizado o cmake. O cmake irá preparar o terreno para a compilação a ser realizada posteriormente, já considerando os módulos extras do OpenCV. Em termos gerais, é equivalente ao "./configure" para outros códigos-fonte. O cmake é executado conforme bloco de código abaixo:

 

 

Compilação

 

A compilação é feita executando-se o comando abaixo:

 

É importante ressaltar que esta compilação consume muito tempo e processamento da Raspberry Pi, levando algumas horas para a conclusão do processo. Portanto, é recomendável o seguinte:

  • Durante esse processo, nada mais seja feito na Raspberry Pi;
  • A Raspberry Pi tenderá a aquecer consideravelmente durante o processo. Portanto, exceto você possuir um case refrigerado / com cooler, deixe a placa fora de qualquer case.

 

Instalação

 

Feita a compilação, é a hora de se instalar o OpenCV compilado. Para isso, execute o seguinte comando:

 

Criação de links e cache

 

Para a criação dos links e cache (de forma simplificada, o processo de "avisar" o sistema operacional que foram instaladas novas bibliotecas e que estas estão disponíveis para uso) do OpenCV, é utilizado o comando a seguir:

 

Processo sugerido para compilação e instalação do OpenCV 3.1.0

 

Para usufruir da comodidade do script (compilar e instalar tudo automaticamente), recomenda-se executar a seguinte sequência de comandos.

Observação: uma forte sugestão é conectar-se à Raspiberry Pi via SSH e fazer o projeto a partir da sessão aberta.

 

 

O processo demora horas. Portanto, se possível, sugiro deixar a compilação e execução rodar noite a dentro.

 

Verificação

 

Uma maneira simples de verificar se a instalação foi bem sucedida é utilizar o interpretador Python. Execute o seguinte comando:

 

Uma vez inicializado o interpretador, digite o seguinte comando e aperte enter:

 

Se a compilação e instalação foram bem sucedidas, nenhum erro irá surgir aqui.
Para sair do interpretador, basta pressionar Ctrl + D.

 

Hora de fazer projetos!

 

Se você chegou até aqui, está tudo pronto para você fazer seus projetos de visão computacional! Para começar, utilize como base os seguintes exemplos:

 

 

Referências

Pedro Bertoleti
Sou engenheiro eletricista formado pela Faculdade de Engenharia de Guaratinguetá (FEG - UNESP) e trabalho com desenvolvimento de sistemas embarcados em São Paulo capital. Curioso e viciado em tecnologia, sempre busco me aprimorar na área de eletrônica e programação, em especial em desenvolvimento de firmware (área que mais gosto de trabalhar e estudar).Para mais informações, acesse minha página no Facebook:https://www.facebook.com/pbertoleti

Deixe um comentário

Seja o Primeiro a Comentar!

Notificar
avatar