@libs-scripts-mep/inv-img-tool

3.0.1 • Public • Published

InvImgTool

Ferramenta de visão computacional com implementações dedicadas à validação de displays em testes automatizados de linha de produção.

Instalando

Abra o terminal, e na pasta do script, execute:

npm i @libs-scripts-mep/inv-img-tool

Desinstalando

Abra o terminal, e na pasta do script, execute:

npm uninstall @libs-scripts-mep/inv-img-tool

Setup de Ambiente

⚠️ Pré-Requisitos:

  • Python >= v3.9.9 download
  • OpenCV Python 4.6.0.66, no terminal digite o comando: pip install opencv-python==4.6.0.66
  • VScode
  • Qualquer WebCam. Recomendação: Logitech 930e

VSCode

Para utilizar o VS Code na execução de arquivos python você deve inicialmente abrir um arquivo python, e selecionar seu interpretador no canto inferior direito:

Image

Image

Execução e Debug

É recomendado utilizar o arquivo launch.json contido na pasta .vscode na pasta raíz do seu workspace.

Image

Dessa forma, quando a for executado o arquivo python desejado, serão passados automaticamente os argumentos configurados conforme .json.

Confira no trecho de código a seguir um exemplo de configuração:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Arquivo Atual",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": false,
            "args": [
                "--conf= {}",
                "--ref=${workspaceFolder}\\reference",
                //
                //modos:
                "--modo=CompPadraoCorArea",
                //ou:
                // "--modo=CompPadraoGrafico",
                //
                //Debug:
                "--debugMode=True"
                //ou:
                // "--debugMode=False"
            ]
        }
    ]
}

Após as devidas configurações, para executar um arquivo propriamente dito, pressione a tecla F5.

.gitignore

É uma boa prática não subir para o repositório arquivos temporários ou de setup de ambiente. Por esse motivo foi criado o .gitignore com o seguinte filtro:

//.gitignore

__pycache__/
.vscode/
reference/
validated/

Voltar ao Início


Overview do Sistema

Mapa de Argumentos

Arg Descrição
ref Caminho onde serão salvas as imagens de referência
conf Objeto de configuração serializado
modo Modo que será utilizado para gerar as imagens de referência
confName Nome do arquivo de configuração
debugMode Habilita o modo de depuração
imgRef Imagem referencia de iluminação gerada no RefGenerator.py, será utilizada apenas para encontrar o match com a stream
timeOut Timeout total
paramEditCam Parametro de filtro da camera que será alterado durante a execução
stepValue Intervalo em que será incrementado ou decrementado o valor do parametro escolhido da camera
methodTemplate Metodo que será utilizado para realizar o matchTemplate. Ex: TM_CCOEFF_NORMED
targetMediaLighting Valor alvo de iluminação
toleranciaMediaLighting Tolerancia para o valor de targetMediaLighting

Relação Argumentos Por Script

Arquivos Arg
RefGenerator.py ref=
mode=
TesteDisplay.py ref=
conf=
debugMode=
JsonSerializer.py ref=
confName=
AjusteFiltrosCamera.py conf=
imgRef=
timeOut=
debugMode=
stepValue=
paramEditCam=
methodTemplate=
targetMediaLighting=
toleranciaMediaLighting=

⚠️ Argumentos não mencionados devem ser comentados no launch.json


Geração de Referências

O script RefGenerator.py é responsável por gerar as imagens de referência e arquivos .json de configuração.

Image

JsonSerializer.py [Debug Bônus]

Ferramenta utlizada para serializar o objeto gerado pelo script RefGenerator.py.

Configure seu .json de forma que aponte para um arquivo de configuração existente:

{
  "configurations": [
      {
        "args": [
            "--ref=${workspaceFolder}\\reference",
            "--confName=MOD_CPCA_1.json",
        ]
      }
  ]
}

A execução do script resultará em:

Image

Copie o Output, e cole em seu launch.json no valor do argumento --conf=

Execução de um Modo de Teste

Image


Voltar ao Início


Modos de Teste

CompPadraoCorArea

O que faz?

Este arquivo python é um dos modos criados para validação de cor em um determinado local em uma imagem.

Gerando Referências

Dentro do arquivo RefGenerator.py no VS Code pressione F5 para executar o arquivo, logo ao iniciar o programa duas janelas serão abertas para visualização:

Janela de Trackbar

Nesta janela você deve fazer as configurações dos filtros de acordo com o que se aplica melhor para sua validação:

Image

Imagem da Câmera

Nesta outra janela podemos visualizar a imagem da câmera em tempo real: Image

Padrão Gerado

Depois de realizado as configurações dos filtros na janela de trackbar, você deve clicar em 4 pontos na janela de imagem da câmera na sequência a seguir:

Image

Esta janela nos retorna um recorte dos 4 pontos selecionados anteriormente, e é a imagem que será salva como referência.

Indicando Região de Interesse

Image

Através da janela de trackbar é possível movimentar e aumentar o seletor de região.

Image

Na janela do padrão gerado podemos observar o ponto aonde estamos verificando a cor, também podemos verificar o nível de BGR do local pelo terminal do VS Code.

Image

Salvando Referência

Depois de gerado o padrão, pressione a tecla s do seu teclado para salvar a imagem de referencia.

Para sair do software pressione ESC, q ou feche a janela de Ajustes clicando no X.


Voltar ao Início


CompPadraoGrafico

O que faz?

Este arquivo python é um dos modos criados para validação de segmentos de display.

Gerando Referências

Dentro do arquivo RefGenerator.py no VS Code pressione F5 para executar o arquivo, logo ao iniciar o programa três janelas serão abertas para visualização:

Janela de Trackbar

Nesta janela você deve fazer as configurações dos filtros de acordo com o que se aplica melhor para sua validação:

Image

Imagem da Câmera

Nesta outra janela podemos visualizar a imagem da câmera em tempo real: Image

Imagem da Câmera Binarizada

Nesta outra janela podemos visualizar a imagem da câmera em tempo real binarizada: Image

Padrão Gerado

Depois de realizado as configurações dos filtros na janela de trackbar, você deve clicar em 4 pontos na janela de imagem da câmera na sequência a seguir:

Image

Esta janela nos retorna um recorte dos 4 pontos selecionados anteriormente, e é a imagem que será salva como referência.

Image

⚠️ Sempre verifique sua imagem binarizada, pois será utilizada para validar o display. Certifique-se que todos os segmentos que deseja validar estejam aparecendo:

Image

Salvando Referência

Depois de gerado o padrão, pressione a tecla s do seu teclado para salvar a imagem de referencia.

Para sair do software pressione ESC, q ou feche janela de Ajustes clicando no X.


Voltar ao Início

AjusteFiltrosCamera

O que faz?

Este arquivo python é um script auxiliar para resolver o problema de situações em que não temos um controle da iluminação ambiente.

Como funciona?

Através de uma imagem de referencia gerada durante a execução do RefGenerator, o script calcula o valor de iluminação utilizando um sistema de cores chamado HSV, que possui um dos parametros o nível de iluminação de uma imagem, desta forma conseguimos ir modificando parametros da stream para conseguir novamente a iluminação ambiente em que foi gerado os padrões originalmente. Após o script encontrar o nível de iluminação esperado ele nos retorna todos os novos valores de filtros da camera.

Gerando Referências

Durante a execução do arquivo CompPadraoGrafico.py selecione os pontos de interesse que deseja realizar a referencia de iluminação e pressione a tecla i para salvar a referencia como RefLighting.png, após realizar a referencia de iluminação um novo parametros será adicionado ao seu .json de configuração, o parametro 'LightingRefImage'.

Image

Executando o Arquivo

Para execução desse arquivo python apenas será necessário passar todos os valores corretamente conforme descrito no Relação Argumentos Por Script que o script será executado normalmente.


Voltar ao Início


Package Sidebar

Install

npm i @libs-scripts-mep/inv-img-tool

Weekly Downloads

1

Version

3.0.1

License

ISC

Unpacked Size

97.1 kB

Total Files

11

Last publish

Collaborators

  • inv-eduardo
  • mateus_ab
  • inv-guilherme.matte
  • inv-thiagosantos
  • inv-rafaela.freitas
  • inv-lucas.kroth