Articles

OpenCV: Instalar OpenCV-Python em Ubuntu

Goals

Neste tutorial vamos aprender a configurar o OpenCV-Python no sistema Ubuntu. Os passos abaixo são testados para Ubuntu 16.04 e 18.04 (ambos 64-bit).

OpenCV-Python pode ser instalado no Ubuntu de duas maneiras:

  • Instalar a partir de binários pré-construídos disponíveis nos repositórios Ubuntu
  • Compilar a partir da fonte. Nesta secção, veremos ambos.

Outra coisa importante são as bibliotecas adicionais necessárias. OpenCV-Python requer apenas Numpy (para além de outras dependências, que veremos mais adiante). Mas neste tutoriais, também usamos Matplotlib para alguns propósitos fáceis e agradáveis de traçado (que me sinto muito melhor em comparação com OpenCV). O Matplotlib é opcional, mas altamente recomendado. Da mesma forma, veremos também IPython, um Terminal Python Interactivo, que também é altamente recomendado.

Instalar OpenCV-Python a partir de Binários Pré-Construídos

Este método serve melhor quando se usa apenas para programação e desenvolvimento de aplicações OpenCV.

Instalar pacote python3-opencv com o seguinte comando no terminal (como utilizador root).

$ sudo apt-get install python3-opencv

Open Python IDLE (ou IPython) e digite os seguintes códigos no terminal Python.

importar cv2 como cv
imprimir(cv.__versão__)

Se os resultados forem impressos sem quaisquer erros, parabéns!! Instalou o OpenCV-Python com sucesso.

É bastante fácil. Mas há um problema com isto. Os repositórios Apt podem não conter sempre a última versão do OpenCV. Por exemplo, na altura de escrever este tutorial, o repositório apt contém 2.4.8 enquanto a última versão do OpenCV é 3.x. No que diz respeito à API Python, a última versão conterá sempre muito melhor suporte e as últimas correcções de bugs.

Então, para obter os códigos-fonte mais recentes, a preferência é o próximo método, ou seja, compilação a partir do código fonte. Também em algum momento, se quiser contribuir para o OpenCV, precisará disto.

Construir OpenCV a partir do código fonte

Compilar a partir do código fonte pode parecer um pouco complicado no início, mas uma vez conseguido, não há nada de complicado.

Primeiro vamos instalar algumas dependências. Algumas são necessárias, outras são opcionais. Pode saltar dependências opcionais se não quiser.

Dependências de compilação requeridas

Nós precisamos de CMake para configurar a instalação, GCC para compilação, Python-devel e Numpy para construir ligações Python, etc.

sudo apt-get install cmake
sudo apt-get install gcc g++

para suportar python2:

div>sudo apt-get install python-dev python-numpy

p> para suportar python3:

div>sudo apt-get install python3-dev python3-numpy

P>Próximo precisamos de suporte GTK para características GUI, suporte de câmara (v4l), suporte de mídia (ffmpeg, gstreamer) etc.

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

para suportar gtk2:

sudo apt-get install libgtk2.0-dev

para suportar gtk3:

div>sudo apt-get install libgtk-3-dev

Dependências Opcionais

As dependências acima são suficientes para instalar o OpenCV na sua máquina Ubuntu. Mas dependendo das suas necessidades, poderá precisar de algumas dependências extra. Uma lista de tais dependências opcionais é dada abaixo. Pode deixá-la ou instalá-la, a sua chamada 🙂

OpenCV vem com ficheiros de suporte para formatos de imagem como PNG, JPEG, JPEG2000, TIFF, WebP etc. Mas pode ser um pouco antigo. Se quiser obter as bibliotecas mais recentes, pode instalar ficheiros de desenvolvimento para bibliotecas de sistema destes formatos.

sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libopenexr-dev
sudo apt-get install libtiff-dev
sudo apt-get install libwebp-dev

Nota Se estiver a utilizar o Ubuntu 16.04 também pode instalarlibjasper-devpara adicionar um suporte de nível de sistema para o formato JPEG2000.

Downloading OpenCV

Para descarregar a fonte mais recente do OpenCV’s GitHub Repository. (Se quiser contribuir para o OpenCV, escolha isto. Para isso, precisa de instalar Git primeiro)

$ sudo apt-get install git
$ git clone https://github.com/opencv/opencv.git

Criará uma pasta “opencv” no directório actual. A clonagem pode levar algum tempo, dependendo da sua ligação à Internet.

Agora abra uma janela terminal e navegue para a pasta “opencv” descarregada. Crie uma nova pasta “build” e navegue até ela.

$ mkdir build
$ cd build

Configurando e Instalando

Agora temos todas as dependências necessárias, vamos instalar o OpenCV. A instalação tem de ser configurada com CMake. Especifica que módulos devem ser instalados, caminho de instalação, que bibliotecas adicionais devem ser utilizadas, se documentação e exemplos devem ser compilados, etc. A maioria deste trabalho é feita automaticamente com parâmetros padrão bem configurados.

O comando Below é normalmente utilizado para a configuração da compilação da biblioteca do OpenCV (executada a partir da pasta de compilação):

$ cmake ../

OpenCV por defeito assume o tipo de compilação “Release” e o caminho de instalação é “/usr/local”. Para informações adicionais sobre as opções de CMake consulte o guia de compilação do OpenCV C++:

Deverá ver estas linhas na sua saída de CMake (significam que Python é correctamente encontrado):

— Python 2:
— Intérprete: /usr/bin/python2.7 (ver 2.7.6)
— Bibliotecas: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
— numpy: /usr/lib/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
— caminho de pacotes: lib/python2.7/dist-packages
—div>> Python 3:
— intérprete: /usr/bin/python3.4 (ver 3.4.3)
— Bibliotecas: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3)
— numpy: /usr/lib/lib/python3/dist-packages/numpy/core/include (ver 1.8.2)
— caminho de pacotes: lib/python3.4/dist-packages

p>Agora constrói os ficheiros usando o comando “make” e instala-o usando o comando “make install”.

$ make
# sudo make install

Acabou a instalação. Todos os ficheiros são instalados na pasta “/usr/local/”. Abrir um terminal e tentar importar “cv2”.

importar cv2 como cv
print(cv.__version__)

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *