Instalando o OpenCV 1.1 no Ubuntu 8.10, 9.04 e 9.10

Logo do OpenCV
Neste post irei dividir com você as experiências que já tive com a instalação da bibliteca OpenCV no Ubuntu. Vou relatar o processo de instalação do OpenCV 1.1 nas versões 8.10, 9.04 e 9.10 do Ubuntu.
Apesar do OpenCV ser tipicamente utilizado com C ou C++, também é possível utilizá-lo com Python (ou Octave) graças aos wrappers criados por terceiros ou ao que já acompanha a versão 1.1 da biblioteca. Neste texto, focarei a instalação para o uso de Python com o wrapper Ctypes OpenCV. Por que o Ctypes OpenCV? Pois o que acompanha a biblioteca me “deixou na mão” durante o desenvolvimento do último projeto.
.
Passo zero:
(vale para todos as três versões do Ubuntu)
- O OpenCV, funciona com Python, apenas para as versões 2.5.x ou 2.6.x da linguagem. A versão 3.x ainda não tem suporte oficial. Logo, verifique se você possui ele instalado em seu computador, caso contrário, instale o Python 2.6.4.
- Mais umas coisinhas a serem instaladas. Digite no terminal (Aplicativos -> Acessórios -> Terminal) o comando abaixo. Sim, são várias coisas. Algumas são realmente requisitos para a instalação, outras servem apenas para diminuirmos chances de problemas depois. Instale, não dói nada
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libavfilter-dev libswscale-dev libtiff-dev libjasper libgstreamer0.10-dev libxine-dev libunicap-dev libdc1394-22-dev swig ffmpeg mplayer vlc
- Baixe o OpenCV 1.1, o Ctypes-OpenCV e os exemplos de códigos do Ctypes OpenCV, você vai querer testar e consultar depois.
.
Ubuntu 8.10:
Nesta versão do Ubuntu, a instalação é bem simples e funciona bem.
Basta seguir os passos abaixo:
- Após o passo zero, no início desse post, descomprima o OpenCV e, pelo terminal, entre na pasta criada. Se ela estiver em seu desktop, será algo próximo a:
cd Desktop/opencv-1.1.0
- Agora, digite:
./configure --disable-sse2 --with-python --with-swig --with-ffmpeg
Obs.: Para processadores antigos, como o AMD de uns quase dez anos atrás que usei no laboratório, era necessários desativar instruções do tipo SSE2, caso contrário, ao rodar algum programa que usasse o OpenCV você obteria a mensagem: Illegal instruction. Eu não expliquei isso antes de você escrever o comando pois obtive problemas com os wrappers de python caso não desativasse esse tipo de instrução no Ubuntu 9.04 e 9.10, imagino que na versão 8.10 isso também ocorra apesar de não ter testado. Então, se você irá usar o OpenCV com C ou C++, não existe necessidade do –disable-sse2, caso contrário, é melhor desativar esse tipo de instrução.
- Agora preste atenção ao pequeno relatório que apareceu em seu terminal. Verifique, principalmente, se o python e o ffmpeg estão com “yes“. Seu relatório deve se parecer bastante como o da figura abaixo:

Figura 1 - Relatório do configure com as opções corretamente marcadas.
Caso o Python ou o ffmpeg não tenham aparecido com o “yes“, tente as soluções mostradas nas outras versões do Ubuntu que estão abaixo.
- Agora, digite:
make
- Depois que terminar, digite:
sudo make install
Será que funcionou? Vamos testar.
O OpenCV acompanha alguns programas exemplo, tanto em C quanto em Python, para você testar a instalação e aprender a usar a biblioteca. Siga os passos abaixo.
- Se sua pasta do OpenCV estiver no desktop, digite:
cd Desktop/opencv-1.1.0/samples/c
- Agora compile os exemplos com:
. build_all.sh
- Agora rode um dos programas:
./delaunay
Se surgiu uma nova janela e “coisas coloridas” estão aparecendo nela, a biblioteca foi instalada com sucesso.
Instalando o Ctypes OpenCV
Será bem simples. Descomprima o arquivo que você ja baixou no passo zero para o desktop e, pelo terminal, entre na pasta src. Após isso, digite:
sudo python setup.py install
Depois de instalado, veja os exemplos que você também baixou do Ctypes OpenCV no passo zero. Dê duplo clique em algum deles, por exemplo o delaunay.py. Ou então rode via terminal com o comando
python delaunay.py
.
Ubuntu 9.04:
Nessa versão do Ubuntu as coisas já não são mais tão simples. Apesar do processo de instalação ser o mesmo da versão 8.10, surgem alguns problemas no meio do caminho.
Primeiro problema: O Python não é reconhecido ao rodar o configure.
Se você rodar o configure, verá que no relatório que ele exibe aparece “no” para o Python. Se você verficar melhor a saída completa verá:

Figura 2 - Problema com o Python
Resolução: Provavelmente deve existir uma solução melhor, mas esta funcionou para mim. Baixei o source do Python 2.6.4, compilei e reinstalei via terminal, da seguinte forma:
./configure make sudo make install
Obs.: Se seu computador não possuir suporta a instruções SSE2, utilize para o primeiro comando: ./configure –diable-sse2
.
Segundo problema: O ffmpeg não é reconhecido ao rodar o configure. Resultado, não é possível manipular vídeos com a biblioteca.
Se você rodar o configure, verá que é exibido “no“ para o ffmpeg no relatório. Se você verficar melhor a saída completa verá:

Figura 3 - Problema com o ffmpeg
Resolução: Basta seguir os passos abaixo em seu terminal:
sudo mkdir /usr/include/ffmpeg cd /usr/include/ffmpeg sudo ln -s ../libavcodec/avcodec.h avcodec.h sudo ln -s ../libavformat/avformat.h avformat.h sudo ln -s ../libavformat/avio.h avio.h sudo ln -s ../libavutil/avutil.h avutil.h sudo ln -s ../libswscale/swscale.h swscale.h
Com os problemas resolvidos, e o passo zero realizado, siga o procedimento básico da instalação.
./configure --disable-sse2 --with-python --with-swig --with-ffmpeg --enable-swscale --enable-shared
Antes dos próximos comandos, não esqueça de verificar no relatório do configure se o python e o ffmpeg estão com “yes“. Seu relatório deve se parecer bastante como o da Figura 1 desse post.
make sudo make install
Ao terminar, teste e instale o Ctypes OpenCV para programar com Python. Para isso, siga as instruções dos tópicos “Será que funcionou? Vamos testar.” e “Instalando o Ctypes Opencv” que estão na instalação para o Ubuntu 8.10, acima neste mesmo post.
.
Ubuntu 9.10:
Nessa versão, existe mais um problema além dos já existentes para o Ubuntu 9.04.
Problema: Erro durante a compilação do código.
Resolução: Entre na pasta que você descomprimiu o OpenCV1.1, vá em cxcore, include e abra o arquivo cxmisc.h. Na linha 133, troque o
#elif
por:
#else
Para completar a instalação, basta seguir o texto acima sobre a instalação no Ubuntu 9.04.
.
.


Simples e completo. Bom trabalho!
O website contém uma série de tutoriais de OpenCv que eu produzi enquanto fazia iniciação científica.
Boa noite, vi seu artigo e acho que é o caminho para resolver meu problema.
Estou usando o ubuntu 10.10 instalei o opencv e o python e a biblioteca ffmpeg.
So que não consigo trabalhar com avi no python gostaria muito de sua ajuda se possível.
Obrigado
Olá Danilo!
Recentemente instalei o OpenCV 2.2 no ubuntu10.10 e foi bem tranquilo, não teve nenhum tipo de problema. Mas como o projeto era em C++, acabei não fazendo nenhum teste com o python.
Vou fazer algumas perguntas para tentar entender melhor o que você está fazendo e ver se consigo te ajudar.
- Que versão do OpenCV você esta querendo instalar?
- Quando você estava instalando, apareceu tudo ok pro ffmpeg na hora do cmake?
- Em C/C++ funciona?
- Os exemplos, tanto os em python quanto os em C/C++, você testou eles? Eles funcionam?
Bom dia, a instalação eu faço por meio dos pacotes presentes, não compilo. os pacotes são:
python-opencv ver 2.1.0-2
2.6.6-2ubuntu2
O meu problema é o seguinte, estava usando o python com opencv no windows e a parte de trabalhar com video avi estava funcionando ok, unica coisa é que a minha webcam não funcionava no python (não consegui ativar a camara no windows).
mudei para o linux a webcam funciona mas na hora de trabalhar com videos avi o programa não exibe o video em avi.
Se possível gostaria de conversar com você por msn ou skype.
Obrigado