Manual

do

Maker

.

com

GUI para OpenCV com preview?

GUI para OpenCV com preview?

Raramente escrevo sobre visão computacional e redes neurais, apesar de já ter trabalho exclusivamente com isso. E faço isso raramente porque pra ser realmente bom em OpenCV tem que ter uma dedicação absurda; não tanto quanto o Leonardo Lontra, claro. Guarde esse nome, porque em algum momento você vai utilizar recursos do OpenCV desenvolvidos por ele; a GUI para OpenCV é apenas uma 'amostra grátis' de sua expertise.

Especialista em OpenCV

Leonardo Lontra é um carioca  especialista em OpenCV que já desenvolveu trabalhos inclusive com universidades nos EUA. Desenvolveu patches e funcionalidades para o OpenCV tanto para X86 como para ARM - mais especificamente, Raspberry. Já fez modificações em drivers de câmeras para tirar melhor proveito e, não satisfeito, criou um front-end para OpenCV, com preview em tempo-real. Você consegue imaginar o que seria um front-end para OpenCV? Bem, meus caros leitores, é difícil imaginar isso, por essa razão terei claramente que mostrar em video o que significa, o quão representativo é isso para quem trabalha com visão computacional. Tão representativo que você não precisa digitar 1 linha de código sequer para testar seus filtros, que nesse front-end podem ser combinados, mudada sua ordem e aplicados ajustes individuais. Tudo em uma janela. E o melhor de tudo; o Leonardo é meu amigo pessoal.

GUI para OpenCV

A ferramenta surgiu de uma necessidade pessoal do desenvolvedor, que foi gradativamente implementando recursos. Eu já usufruí de versões anteriores desse magnífico programa e me surpreendo a cada nova versão. Não estou certo de que possa mostrar metade dos recursos em apenas 1 artigo, mas conforme for, vou escrevendo outros. Inclusive, tenho um outro artigo que estou quase finalizando também e nele será utilizado OpenCV, então logo você verá esse software em operação novamente.

Preparação do ambiente

Antes de poder utilizá-lo, alguns procedimentos são necessários, iniciando pela instalação do próprio OpenCV. Eu utilizo uma versão disponibilizada pelo próprio Leonardo Lontra. Se quiser experimentá-la também, pegue-a aqui. Mas certamente você terá que suprir dependências. Você saberá quais são ao instalar (ou tentar instalar) o pacote. Basicamente:

sudo dpkg -i opencv3_3.3-1_amd64.deb

Instalado o OpenCV, pegue o arquivo de alias para o virtualenv (link quebrado) nesse link. Agora será necessário incluí-lo na última linha do seu arquivo ~/.bashrc. Edite o arquivo .bashrc com seu editor preferido e na última linha adicione:

source /home/djames/virtualenv_alias

Salve o arquivo, saia dele e então carregue novamente o .bashrc:

source ~/.bashrc

Virtualenv

Escrevi um artigo exclusivo relacionado ao virtualenv. Se quiser ler um pouco a respeito para ter mais intimidade, clique nesse link.

Será necessário instalar o pacote virtualenv. Para tal:

sudo apt-get install python-virtualenv python3-virtualenv

Lembre-se que utilizaremos Python3.

Criar o diretório de trabalho

Basicamente, precisamos criar um diretório onde será alocado o virtualenv. Você precisa ter Python3 instalado e, se não tiver, instale-o previamente.

mkdir -p $WORKON_HOME

Essa variável $WORKON_HOME está dentro do arquivo virtualenv_alias. Esse comando simplesmente criará o diretório de trabalho em seu home.

Criar o virtualenv para o cv-gui

Agora é hora de criar o virtualenv para trabalhar com o cv-gui (esse é o nome do front-end). Vale lembrar que essa versão disponibilizada do OpenCV foi compilada para utilizar com a versão 3 do Python. Desse modo, você precisa especificar a versão ao criar o virtualenv. Para tal, basta digitar:

mkenv py3 cv-gui

 Acessar o virtualenv

Aquele script lá em cima que você incluiu em seu .bashrc te disponibiliza alguns comandos, como o mkenv, do tópico anterior. Do mesmo modo, para acessar o virtualenv criado anteriormente, vocẽ deverá acessar um menu com outro desses comandos, então selecionar o virtualenv a utilizar. Apenas digite venvmenu. como só terá um virtualenv nesse momento.

Apenas digite 1 e pressione Enter.

Agora é a parte mais triste. Hoje, apenas o criador e eu temos o programa. Não sei se o Leonardo Lontra vai  vender ou distribuir como  opensource, mas cabe a vocês deixarem seus comentários no artigo fazendo sua solicitação. Vamos convencê-lo disso?

O programa esstá dentro de um arquivo de compressão tgz. Tendo-o em mãos, le é o próximo  passo desse tutorial todo. Eu costumo proceder da seguinte maneira:

  • Crio um diretório chamado  opencv em meu home.
  • Sempre copio o pacote pra dentro deste diretório  recém criado.
  • Descomprimo o pacote.
  • Acesso o diretório e então, um passo importantíssimo nesse momento:

pip install -r requirements.txt

Se você não tem o gerenciador de pacote pip instalado, sem problemas, proceda com sua instalação prévia:

sudo apt-get install python-pip

Executar o programa cv-gui

E finalmente, vamos invocar a lâmpada do gênio (porque o gênio é o Lontra);

python3 scripts/cv-gui.py

E a primeira coisa que você deve ver é uma janela vazia, pronta para ser explorada. O resto eu mostro no video.

https://youtu.be/MDM6mZi-kWw

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.