Pular para o conteúdo principal

Usando sua câmera em python

Instalação


Se você tiver instalada uma versão anterior do OpenCV, você deve removê-lo antes da instalação da nova versão para evitar conflitos. O mesmo valor para o pacote opencv-contrib-python.
Você pode utilizar os ambientes virtuais do Pytho para evitar conflitos e tornar o desenvolvimento mais fácil.

Existe uma instalação simples se você tiver pip.
Basta digitar:
$ pip install --upgrade pip
$ pip install opencv-python
O problema desta instalação é que algumas características do opencv não funcionam.

Processo longo

Bom!!!
Prepare-se pois tem um bocado de coisas para fazer.
Você tem que instalar o compilador e algumas bibliotecas para compilar o opencv.

$ sudo apt-get install build-essential
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Alguns tutoriais indicam que os pacotes mostrados na terceira linha são opcionais, mas eu só consegui rodar instalando tudo. Agora temos que baixar o código fonte do opencv e precisamos compila-lo.

$ git clone https://github.com/opencv/opencv.git
$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. 
A quarta linha é crítica. Se alguma etapa deste processo der erro, provavelmente você não irá conseguir instalar o opencv. Ao rodar cmake várias linhas serão mostradas na tela. Se funcionou, as suas linhas finais devem parecer com a tela mostrada abaixo.

Próximo passo: compilar...

$ make -j4
Como tenho 4 cores no meu computador, use -j4 para acelerar. Você pode digitar somente make sem o parâmetro -j se quiser. Se você tiver 2 cores, use -j2. Se forem 4, use -j4. Você já entendeu, não é?
Este comando vai gerar um monte de linhas, algumas delas tem um indicador que quanto já foi compilado. A tela final da compilação é mostrada abaixo.


Ainda falta um passo para poder usar o opencv. Para instalar use o comando


$ sudo make install
Ele também vai gerar um monte de linhas, mostrando também entre colchetes quanto já executou da instalação.

Quando ele terminar você retornará ao prompt do terminal. Você pode entrar no interpretador do python para ver se está tudo carregado.
Na tela abaixo entramos com dois comandos: (1) import cv2 faz a importação da biblioteca do python. Se tudo deu certo, o python retorna com o prompt para você. (2) usamos cv2.__version__ para ver a versão que foi compilada e instalada. Veja que no momento deste post estamos na versão 3.3


Uso

Para usar o opencv é relativamente simples. Se você fez o processo longo, o código abaixo deverá rodar. Entre em um editor de textos e entre com as seguintes linhas.

import cv2

def show_webcam(mirror=False):
  # conecta na sua câmera
  cam = cv2.VideoCapture(0)  # câmera id = 0
  while True:
    ret, img = cam.read()
    if ret == False:
      break # não conseguiu abrir, portanto sai
    if mirror:
      # muitas câmeras leem a imagem espelhada
      # assim se ativar mirror = True
      # fazemos o cv espelhar a imagem
      # mostrando da forma correta
      img = cv2.flip(img, 1)
    cv2.imshow('minha webcam no python', img)
    if cv2.waitKey(1) == 27:  # ESC para sair
      break 
  cv2.destroyAllWindows()

show_webcam(mirror=True)
Basta chamar o programa (no nosso caso ele chama program_my_cam.py):
$ python program_my_cam.py

Quer saber mais

Vá para o site de tutoriais do OpenCV.

Usando containers

Você pode querer manter seu ambiente mais limpo e assim recomendamos o uso de containers.
Você pode ver em https://github.com/h3dema/opencv_docker como usar um container docker com o ambiente completo do opencv.

Comentários

Postagens mais visitadas deste blog

Como colocar o PyCharm no launcher do Ubuntu

Atualizei recentemente meu pycharm para a versão 2018.1. A atualização basicamente consiste em baixar do site da Jetbrains  dedicado ao PyCharm, e depois do download basta descompactar e mover o diretório criado para você você achar mais adequado. No meu caso está em ~/bin/pycharm. Para rodar o pycharm é só executar o script pycharm.sh que está no diretório bin dentro do diretório do pycharm, isto é, no meu caso ~/bin/pycharm/bin/pycharm.sh. Eu queria ter o ícone do pycharm no launcher (aquela barra lateral do Ubuntu) para ficar mais fácil chamá-lo. O PyCharm pode criar seu próprio ícone de lançador, contudo ele não é cria por padrão. A gente tem que executar alguns comandos: 1) Comece chamando o PyCharm em um terminal. 2) No menu Ferramentas, selecione "Criar entrada da área de trabalho ..." 3) Se você já tem o PyCharm, ele irá perguntar se você quer reaproveitar as configurações da versão anterior: 4) Marque a caixa correspondente, se você quiser o lanç

Resetando a senha do administrador local no Windows Server 2012

Existem diversas formas de redefinir a senha em seu servidor Windows 2012 quando você esqueceu ela. Neste post mostraremos como alterar a senha do usuário administrador, quando você tem acesso físico à ele. Você precisará do DVD de instalação do Windows para fazer isto. São os seguintes passos: 1-) Reinicie o seu computador dando boot pelo DVD do Microsoft Windows Server 2012 (pode ser outra versão) 2-) No menu Instalação do Windows (mostrado abaixo), clique em "Avançar". 3-) Selecione "Reparar seu computador" Como estamos utilizando o DVD do Windows 2008 para reparar um Windows 2012, o seguinte aviso é mostrado. Concorde clicando em Next. 4-) Clique em "Aviso de comando" para abrir uma janela de comandos. 5-) No prompt de comando, execute os seguintes comandos: d: cd windows\system32 ren Utilman.exe Utilman.exe.old copy cmd.exe Utilman.exe 5-) Feche o prompt de comando e clique em "Reiniciar". 6-) O serv

Configurar a ação do Ubuntu 20 ao fechar a tela do notebook

Este post mostra como alterar a ação quando a tampa do laptop é fechada no Ubuntu 20.04 - por exemplo, desligar, hibernar, não fazer nada ou travar a tela. A ação padrão do Ubuntu é suspender a atividade do notebook. Até onde eu sei, até o momento deste post não existe uma opção gráfica para fazer esta configuração, portanto você precisa editar o arquivo logind.conf para alterar a ação. Esta configuração deve funcionar em instalações tipo desktop ou servidor do Ubuntu. Você precisa abrir o terminal (normalmente isto pode ser feito pressionando simultaneamente Ctrl + Alt + T). Com o terminal aberto você pode utilizar um editor para alterar as linhas que controlam a ação. Por exemplo, digite na linha de comando: sudo vi /etc/systemd/logind.conf No arquivo procure a linha (note the # indica que a linha está comentada) # HandleLidSwitch = suspend e altere-a para uma das seguintes opções (note que agora a linha não começa mais com #) - trava o desktop quando a tampa está fechada: HandleLidS