DEV Community

Cover image for OpenCV + Raspberry Pi: Como configurar o ambiente?
tassiane anzolin
tassiane anzolin

Posted on • Edited on

OpenCV + Raspberry Pi: Como configurar o ambiente?

OpenCV (Open Source Computer Vision) é uma biblioteca multi-plataforma com um forte foco para o processamento digital de imagens em tempo real, escrita em C/C++ que hoje contém interfaces para diversas linguagens tais como Python e Java. Sua primeira versão foi lançada em 2000 e [...] conta com várias centenas de algoritmos de visão computacional o que torna esta biblioteca uma ferramenta poderosa no campo da visão computacional (BAGGIO, 2015).

Neste tutorial, há duas maneiras de realizar a instalação: a padrão e a específica. A forma padrão utiliza o próprio pacote pip do Python, já a específica possibilita a escolha da versão do OpenCV disponíveis no repositório do GitHub.

Você precisará de um Raspberry Pi (o modelo utilizado foi o RPi 3 Model B V1.2), um cartão Micro SD, de mais de 8GB de armazenamento, com o sistema operacional Raspberry Pi OS instalado (confira a instalação aqui) e de uma xícara de café 😅.

Método 1 - Instalação Padrão

Esse método é mais rápido e recomendado. Todos os comandos devem ser abertos no terminal e executados passo-a-passo.


Passo 1 - Atualize o sistema operacional

sudo apt-get update
sudo apt-get upgrade
Enter fullscreen mode Exit fullscreen mode


Passo 2 - Instale as dependências necessárias

sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
Enter fullscreen mode Exit fullscreen mode


Passo 3 - Instale o Python 3 e o Pip 3 (pacotes do Python)

sudo apt-get install python3-dev
sudo apt-get install python3-pip
Enter fullscreen mode Exit fullscreen mode


Passo 4 - Instale o Numpy

pip install -U numpy
Enter fullscreen mode Exit fullscreen mode


Passo 5 - Instale o OpenCV

pip3 install opencv-python
Enter fullscreen mode Exit fullscreen mode


Passo 6 - Instale os complementos do OpenCV e as dependências extras para o uso de câmeras

sudo apt-get install libqtgui4
sudo modprobe bcm2835-v4l2
sudo apt-get install libqt4-test
Enter fullscreen mode Exit fullscreen mode


Passo 7 - Testando

Para testar se ocorreu tudo certo com a sua instalação, digite o comando no terminal:

python3
import cv2
Enter fullscreen mode Exit fullscreen mode

Se nenhuma mensagem de erro aparecer, significa que a instalação da biblioteca OpenCV foi bem sucedida!

image

Caso isso não aconteça, pesquise seu erro em fóruns online como o StackOverflow ou no próprio GitHub 😁

Alt Text


Método 2 - Instalação Específica (boa sorte!)

Utilizaremos o sistema multi-plataforma CMake para realizar a instalação da biblioteca OpenCV no ambiente do Raspberry Pi e o repositório oficial da biblioteca no GitHub. Caso queira instalar outra versão, somente altere o link no Passo 5!


Passo 1 - Expandindo o armazenamento (File System)

Abra o terminal e digite o comando:

sudo raspi-config
Enter fullscreen mode Exit fullscreen mode

Após isso, vá em Advanced Options
image
E em Expand File System
image

Clique em select e faça o reboot do Raspberry Pi.


Passo 2 - Atualizando o sistema operacional

É estritamente necessário atualizar o sistema operacional antes de realizar qualquer operação.
Abra o terminal e digite o comando:

sudo apt-get update && sudo apt-get upgrade
Enter fullscreen mode Exit fullscreen mode

image

E também, para atualizar o pacote apt-get:

sudo apt-get update
Enter fullscreen mode Exit fullscreen mode

image


Passo 3 - Instalando o CMake

O CMake é essencial para a instalação da biblioteca OpenCV.

Etapa 3.1: Instalação do snapd

sudo apt install snapd
Enter fullscreen mode Exit fullscreen mode

image

Etapa 3.2: Instalação do CMake Classic

sudo snap install cmake --classic
Enter fullscreen mode Exit fullscreen mode

image

Observação

Se houver o seguinte erro: 20.04 snapd issue: “system does not fully support snapd: cannot mount squashfs image…” será necessário instalar o certbot e somente após prosseguir para Etapa 3.2.
Alt Text
Abaixo segue o comando para a instalação do certbot:

sudo apt install certbot
Enter fullscreen mode Exit fullscreen mode

Se mesmo assim o erro persistir, tente reiniciar o Raspberry com:

sudo reboot
Enter fullscreen mode Exit fullscreen mode


Passo 4 - Instalando o Python

A linguagem Python vem instalada de forma padrão no Raspberry Pi, mas confira se seu status está ok com o comando

sudo apt-get install python3-dev
Enter fullscreen mode Exit fullscreen mode

image


Passo 5 - Baixando os pacotes do OpenCV

A biblioteca OpenCV é open-source, ou seja, seu código é aberto e o mesmo está disponível no GitHub. Com os comandos a seguir, serão baixadas as versões 4.5.3 do OpenCV e do OpenCV contrib, a qual contém atualizações e melhorias.

Etapa 5.1: OpenCV 4.5.3

wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.5.3.zip
Enter fullscreen mode Exit fullscreen mode

image

Etapa 5.2: OpenCV Contrib 4.5.3

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.3.zip
Enter fullscreen mode Exit fullscreen mode

image


Passo 6 - Extraindo os pacotes do OpenCV

Para extrair os arquivos zipados, digite os comandos no terminal:

unzip opencv.zip
Enter fullscreen mode Exit fullscreen mode

E, da mesma forma:

unzip opencv_contrib.zip
Enter fullscreen mode Exit fullscreen mode

Após a extração, o terminal deverá estar da seguinte forma:
image


Passo 7 - Instalando a biblioteca numpy

pip install numpy
Enter fullscreen mode Exit fullscreen mode

image


Passo 8 - Preparando a instalação do OpenCV

Para realizar a instalação das bibliotecas, será preciso criar uma pasta denominada build dentro da pasta opencv-4.5.3

cd ~/opencv-4.5.3
mkdir build
cd build
Enter fullscreen mode Exit fullscreen mode

image

Atenção ⚠

Garantindo que o terminal esteja acessando a pasta opencv-4.5.3/build, digite o seguinte comando:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.5.3/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D WITH_TBB=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..
Enter fullscreen mode Exit fullscreen mode

image

Se tudo estiver correto, deverá aparecer as mensagens “Configuring done” e “Generating done”, conforme mostrado:
image


Passo 10 - Compilando & Instalando a biblioteca OpenCV

Finalmente, para compilar e instalar a biblioteca OpenCV digite o comando make na pasta opencv-4.5.3/build
image

make -j4
Enter fullscreen mode Exit fullscreen mode

Se o seu RPi tiver menos que 4 núcleos, use somente "make".


Esse é o passo em que você pode preparar o cafézinho, escutar o CD da Xuxa de trás pra frente ou assistir a trilogia inteira de Senhor dos Anéis porque vai demorar horas...

Alt Text

Enfim, se a sua compilação for bem-sucedida, aparecerá a seguinte mensagem no terminal:
image


Passo 11 - Instalando a biblioteca libopencv

Se você chegou até aqui (parabéns), agora é imprescindível a instalação da biblioteca libopencv na pasta opencv-4.5.3/build usando o comando:

sudo apt-get install libopencv-devpython-opencv
Enter fullscreen mode Exit fullscreen mode

image


Passo 12 - Testando OpenCV

Finalmente, para testar se a instalação foi feita corretamente, digite o comando em Python:

python
import cv2
Enter fullscreen mode Exit fullscreen mode

image

Se você não encontrar nenhum erro, está apto a realizar seus projetos usando a biblioteca OpenCV no Raspberry Pi!


Observação extra: Se ocorrer o seguinte erro com a importação do NumPy:

ImportError: numpy.core.multiarray failed to import
Enter fullscreen mode Exit fullscreen mode

Abra o terminal, desinstale o NumPy com o comando:

pip uninstall numpy
Enter fullscreen mode Exit fullscreen mode

E, após isso, instale novamente:

sudo pip install numpy --upgrade --ignore-installed
Enter fullscreen mode Exit fullscreen mode

Pronto, agora deve funcionar corretamente!

Alt Text


Isso é tudo pessoal, qualquer dúvida me mande uma dm no Twitter ou Insta <3

Alt Text


Referências

BAGGIO, D. L. OpenCV 3.0 Computer Vision with Java. [S.l.]: Packt Publishing Ltd, 2015.
INSTALLING OpenCV using CMake in Raspberry Pi. [S. l.], 25 mar. 2021. Disponível em: https://robu.in/installing-opencv-using-cmake-in-raspberry-pi/.
RASPBERRY Pi 3 and OpenCV Installation Tutorial. [S. l.], 31 out. 2018. Disponível em: https://pysource.com/2018/10/31/raspberry-pi-3-and-opencv-3-installation-tutorial/.
ImportError: numpy.core.multiarray falhou ao importar. [S. l.], 30 mai. 2019. Disponível em: https://qastack.com.br/programming/20518632/importerror-numpy-core-multiarray-failed-to-import .

Top comments (2)

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
Sloan, the sloth mascot
Comment deleted