ESTUDANDO O MUNDO ARDUINO E ANTECIPANDO O FUTURO:

EXERCÍCIO n0 1
 

 

Bem, agora que você já instalou o PYTHON, instalou também o PYCHARM e baixou a biblioteca OpenCV, já está preparado para fazer sua Primera Aplicação.

É um exercício muito simples. É um aplicativo que pega uma foto existente no seu notebook e mostra ela no monitor.

Veja, passo a passo, como fazer a instalação do OpenCV no PYCHARM:

1o PASSO: Carregar o PYCHARM.

2o PASSO: Criar uma nova aplicação:

Na barra de comandos selecionar FILE (ARQUIVO) e clicar em NEW SCRATCH FILE (APLICATIVO NOVO).

3o PASSO: Indicar que o APLICATIVO é no padrão PYTHON:

Lembre-se que você está no PYCHARM fazendo um aplicativo que vai rodar no PYTHON e o PYCHARM pode editar aplicativos para muitos outros interpretadores.

4o PASSO: Será mostrada a tela de edição do PYCHARM com os seguintes campos:

Nome do aplicativo no esquema padrão do PYCHARM que deu o nome de "scratch_1.py". Cada novo aplicativo que a gente deseja fazer, o PYCHARM cria nomes do tipo scratch_ seguido de um número, seguido de um ponto e da sigla py que significa que é um aplicativo no padrão do PATHON. O nome aparece em dois locais, um na linha de aplicativos abertos e outro na árvore das pastas.

5o PASSO: Precisamos mudar o nome padrão para o nosso nome, no caso exercicio01.py.

Com o botão direito do mouse, clicar em cima do nome do aplicativo (no caso scratch_1.py). Vai aparecer uma janela com um monte de opções. Selecione RENAME FILE (DAR OUTRO NOME PARA O APLICATIVO)

Será apresentando o seguinte quadro onde você deve substituir o nome scratch.py pelo nome exercicio01.py e depois pressionar em REFACTOR (DAR O NOVO NOME):

6o PASSO: REDIGIR O APLICATIVO:

Na Área de Edição você deve digitar o seguinte aplicativo:

import cv2
arquivo = 'foto01.jpg'
imagem = cv2.imread(arquivo)
cv2.imshow(imagem)
cv2.waitkey(0)

O PYCHARM tem opções para apresentar os comandos na Área de Edição em cores para diferenciar FUNÇÕES, VARIÁVEIS e NOMES.
Veja, como curiosidade, como se apresenta, o nosso primeiro exercício, no padrão de cores MONOKAY:

Como estamos trabalhando, por motivos didáticos no padrão de cores INTELLIJ LIGHT a tela terá a seguinte aparência:

7o PASSO: Executar o aplicativo:

A execução do nosso aplicativo pela primeira vez é meio complicada. No quadro das pastas, pressionar o botão direito do mouse em cima do nome do aplicativo (no nosso caso exercicio01.py). Vai aparecer um quadro com um monte de opções. Selecione RUN 'EXERCICIO01.PY' (EXECUTAR O APLICATIVO exercicio01.py):

 

8o PASSO: O aplicativo entra em execução. PODE SER QUE FUNCIONE ou PODE SER QUE NÃO FUNCIONE.

Se não funcionar é por que cometemos algum erro.

No caso deu erro EXIT CODE = 1 (CODIGO DE FIM DE EXECUÇÃO = 1) se tudo estivesse certo o código de fim de execução seria 0 (zero).

Deu erro por que o PYCHARM não encontrou o arquivo da foto no endereço fornecido (no caso ARQUIVO = 'FOTO01.JPG'). Devemos dar o endereço onde a foto esteja realmente arquivada.

No meu caso, o arquivo que eu quero que o aplicativo acesse está no endereço (ARQUIVO='/ARQUIVOS/ARDUINO/PYTONPROGRAMAS/IMAGEM23.JPG'). Então, corrigimos o comando correspondente:

Não use este endereço (ARQUIVO='/ARQUIVOS/ARDUINO/PYTONPROGRAMAS/IMAGEM23.JPG') no seu exercicio01.py pois não vai funcionar. Escolha a foto, de sua preferência, que você vai usar nos exercícios e coloque-a num endereço fácil de ser encontrado.

A foto pode ser colorida ou em preto e branco. Precisar ter pelo menos um rosto mas o ideal é que tenha pelo menos 4 rostos aparecendo. Veja uma foto que peguei na internet como exemplo.

Não há limite de rostos na foto pois o OpenCV consegue encontrar todos, ou pelo menos muitos e isso, como veremos mais adiante, vai depender da PRECISÃO que vamos estabelecer para o mecanismo de busca. Veja, por exemplo, estas fotos:

 

Escolhida a foto, monte a instrução (ARQUIVO = ..... ) com os nomes das pastas e nome do arquivo do jeito que eles estão no seu notebook.

NOTA IMPORTANTE: Nos exemplos apresentados neste site, muitas vezes apresentamos os comandos com as LETRAS MAIÚSCULAS e isso é feito para facilitar a leitura mas para o PYCHARM os comandos devem ser digitados com as letras minúsculas. Ou seja:

Na explicação: ARQUIVO='/ARQUIVOS/ARDUINO/PYTONPROGRAMAS/IMAGEM23.JPG'

No editor PYCHARM: arquivo='/arquivos/arduino/pythonprogramas/imagem23.jpg'

Vamos, tente novamente. Enquanto estiver dando EXIT CODE = 1 é por que há um erro na digitação do endereço da foto e o PYCHARM não consegue encontrar a foto.

9o PASSO: Nova execução.

A nova execução do aplicativo não precisa ser feito conforme explicado no 7o Passo. É mais simples.

 


IMPORTANTE: INSERIR COMENTÁRIOS NO MEIO DO APLICATIVO


O seu primeiro aplicativo de Face-Detection está pronto e funcionando. Bastou apenas esses 6 comandos para ele funcionar.

import cv2
arquivo = 'foto01.jpg'
imagem = cv2.imread(arquivo)
cv2.imshow(imagem)
cv2.waitkey(0)

Olhando assim, nesta hora em que você acabou de digitar e executar é fácil lembrar para que serve cada um dos comandos.

Mas, no futuro, é capaz de você não se lembrar exatamente para que serva cada comando. Pior é quando você progredir e passar a fazer aplicativos mais completos e, portanto, com mais comandos e, muitas vezes, trechos com uma lógica meio complicada que você demorou para acertar, para fazer funcionar.

Para facilitar a leitura e compreensão de trachos e comandos no aplicativo existe a possibilidade de intercalar COMENTÁRIOS entre os comandos.

Quem diz ao PYCHARM que a linha contém um COMENTÁRIO e que, portanto, ele não deve tentar adivinhar que comando é, pois comentário não é comando, os comentários deve ser precedidos pelo sinal "#".

Então, veja como fica no nosso primeiro exercicio com os comentários:

#=====================================

#

#  exercicio01.py  Pega uma foto e mostra

#

# Roberto Massaru Watanabe

#

# V-0 05.07.2020

 

# 1- Carrega a biblioteca OpenCV:

Import cv2

 

# 2- Define o local onde está a foto:

arquivo = ‘foto01.jpg’

 

# 3- Lê o arquivo da foto:

imagem = cv2.imread(arquivo)

 

# 4- Mostra no monitor a foto lida:

cv2.imshow(imagem)

 

# 5- Para a execução para a foto possa ser vista:

cv2.waitkey(0)

 

# FINAL DO APLICATIVO

#=====================================

Nos comentários, incluir o Nome e a Data não só da primeira Versão V-0 como das outras versões que você vier a implementar, V-1, V-2, V-3, etc.

CUIRIOSIDADE:

Na década de 70, eu tinha um aplicativo, naquela época chamava "programa", que eu tinha desenvolvido para fazer o cálculo de pontes da Rodovia dos Imigrantes. O programa tinha quase 20.000 instruções em linguagem FORTRAN pois envolvia muitos cálculos numéricos com muita álgebra, trigonometria, geometria, equações, matrizes e um monte de outras matérias. Eu me lembro muito bem da quantidade de instruções do programa por que naquela época não existia esses editores como o PyCHARM e nem a possibilidade de guardar o programa no disco do computador. Então o programa era feito em cartões perfurados, um cartão por instrução, e esses cartões eram transportados em caixas de papelação que cabia exatamente 2.000 cartões em cada caixa. Como a empresa onde eu trabalhava não tinha computador, a gente alugava tempo num BUREAU e, na hora reservada a gente ia até lá carregando o programa debaixo do braço e no caso do programa da Rodovia dos Imigrantes, tinha 10 caixas. Veja um exemplo de cartão perfurado 80 colunas (conhecido como cartão IBM ou cartão Hollerith) com a instrução Z(1) = Y + W(1) e também a Ponte do Casqueiro:

 

Por segurança, crie uma pasta de BACKUP onde você vai copiar cada aplicativo que você fizer. É muito comum a gente sair mexendo em um aplicativo, inserindo novos comandos mas que nem sempre funcionam como a gente imaginava e aí, mexe daqui, mexe dali e chega num ponto em que o aplicativo está tão mexido que não funciona nem mesmo naquilo que já estava funcionando. Então, pessoal, ordem. ORDEM!. Tome o cuidado de não perder o que já estava funcionando, salve ele na pasta BACKUP, crie uma nova versão onde você vai fazer as alterações. Coloque os comentários para você mesmo se lembrar da razão de você ter tentado um outro jeito.

É uma coisa antiga mas não custa nada imprimir em papel e guardar numa pasta.

 

 

NOTA: Este site é mantido pela equipe do engenheiro Roberto Massaru Watanabe e se destina principalmente para adolecentes e estudantes. Pelo caráter pedagógico do site, seu conteúdo pode ser livremente copiado, impresso e distribuido. Só não pode piratear, isto é, copiar e depois divulgar como se fosse de sua autoria.


ET-18\RMW\IdentificarPessoas\exercicio01.htm em 05/07/2020, atualizado em 05/07/2020 .