• Nenhum resultado encontrado

4. MATERIAIS E MÉTODOS

4.2. Funcionamento do Programa

O programa, doravante denominado FringeCal, foi desenvolvido na versão 7 da plataforma Borland Delphi® que é ao mesmo tempo um compilador, uma IDE (Integrated Development Environment – Ambiente Integrado de Desenvolvimento) e uma linguagem de programação. O Delphi 7 é particularmente adequado para desenvolvimento de aplicações desktop. As partes mais essenciais do FringeCal, ou as funções por assim dizer, são a obtenção da tabela de pesquisa e a comparação dos pixels da imagem com a referida tabela descritas nos itens 4.2.1 e 4.2.2.

4.2.1. Obtenção da Tabela de Pesquisa

Apesar da Tabela 3.3 trazer 21 ordens de franja, isto não significa que são 21 cores diferentes. Existem cores que se repetem como, por exemplo, a cor laranja que pode representar uma ordem de franja de 0,79 ou 1,62, dependendo de quais são as franjas vizinhas. Assim, pode haver ambiguidade quando se analisa as franjas isoladamente. Para desenvolvimento deste trabalho utilizou-se o conceito de cores básicas, ou seja, a lista das cores passíveis de ocorrência nas franjas, conforme mostra o Quadro 4.1. Ainda tomando a cor laranja como exemplo de ambiguidade, o programa detectará a cor laranja a partir da comparação da cor do pixel da imagem com a tabela de pesquisa. Contudo, o usuário terá que fazer a desambiguação, informando se a cor laranja corresponde à ordem de franja 0,79 ou 1,62.

Cores básicas Preto Cinza Branco Amarelo Laranja Vermelho Azul Azul-esverdeado Verde-amarelo Verde Rosa Tom de passagem

Enquanto o usuário está construindo a tabela de pesquisa o programa “aprende” a reconhecer as cores, ou seja, o que é considerado um pixel de cor verde, azul, rosa e assim por diante. Conforme descrito na seção 3.4, a técnica da fotoelasticidade apresenta diversas variáveis que influenciam na reprodutibilidade e repetitividade do experimento. Por isso, a calibração do programa através de uma amostra padrão, como o disco de resina, é essencial para a correta análise da tensão nos corpos de prova. Isto porque o disco promove a propagação ordenada das franjas durante a compressão, o que não necessariamente acontece em outras geometrias. Assim, o usuário saberá de antemão a ordem de franja dos pixels que estão selecionados. Diz-se que o programa está calibrado quando a tabela de pesquisa foi construída corretamente a partir da seleção das cores das franjas da amostra de calibração ou disco de resina.

As etapas básicas para construção da tabela de pesquisa (banco de dados de cores padrão) estão mostradas na Figura 4.6. Optou-se pela utilização de arquivos de texto com extensão “txt” como banco de dados, devido ao fato de não haver necessidade de instalação ou configuração adicional para o funcionamento em qualquer versão do Windows®, ao contrário de bases de dados tradicionais como, por exemplo, MySql® ou FirebirdSql®. Como o número de registros no banco de dados sempre será relativamente pequeno, a concepção simplista do banco de dados do FringeCal se mostrou adequada.

1. Verifica se há seleção na imagem;

2. Verifica se há seleção na lista de cores básicas;

3. Seleciona o arquivo de banco de dados txt no disco

rígido;

4. Seleciona cada pixel localizado dentro da

seleção, realiza a transformação RGB para L*a*b* e armazena dados no respectivo arquivo txt.

Por exemplo, seja a seleção de dois pixels da cor verde, R1 e R2. Os níveis RGB destes dois pixels são:

R1 - R: 37 G:161 B:89 R2 - R: 44 G:180 B:96

Por exemplo, converte valores RGB de R1 e R2 para o espaço L*a*b*. R1 - R: 37 G:161 B:89 ↔ L*:59 a*:-50 b*:28

R2 - R: 44 G:180 B:96 ↔ L*:65 a*:-54 b*:33

Após o usuário clicar no botão salvar, os dados são então armazenados arquivo de texto, neste exemplo o arquivo

denominado “verde1.txt”. Por exemplo, a cor verde está selecionada.

Figura 4.6. Fluxograma das etapas básicas para obtenção da tabela de pesquisa.

4.2.2. Comparação dos Pixels da Imagem com a Tabela de Pesquisa

A Figura 4.7 mostra as etapas básicas para comparação dos pixels da imagem com a tabela de pesquisa. O cálculo da diferença entre os valores L*a*b* da imagem com os níveis de referência da tabela de pesquisa é feito pela Equação 3.34.

1. Usuário seleciona pixels que deseja analisar;

2. Ao clique do botão “Reconhecer Franjas”, o programa varre todos os

pixels da seleção;

3. Os níveis RGB de cada pixels são convertidos para

L*a*b* e é calculada a diferença média da cor do pixel selecionado para cada

nível L*a*b* da tabela de pesquisa;

distintas com 4 pixels cada:

A: S1, S2, S3 e S4; B: S5, S6, S7 e S8. ANÁLISE DA SELEÇÃO A

Considerando a situação hipotética de que hajam somente os níveis L*a*b* de R1 e R2 na tabela de pesquisa, os resultados do cálculo da diferença são os seguintes: S1 - R:64 G:158 B:46 ↔ L*:58 a*:-49 b*:48 Diferença de S1 para R1: 9% Diferença de S1 para R2: 10% Diferença média: 9,5% S2 - R:46 G:133 B:36 ↔ L*:49 a*:-45 b*:43 Diferença de S2 para R1: 13% Diferença de S2 para R2: 17% Diferença média: 15% S3 - R:32 G:111 B:30 ↔ L*:41 a*:-40 b*:37 Diferença de S3 para R1: 19% Diferença de S3 para R2: 25% Diferença média: 22% S4 - R:20 G:86 B:22 ↔ L*:31 a*:-34 b*:30 Diferença de S4 para R1: 29% Diferença de S4 para R2: 35% Diferença média: 32%

Considerando que neste exemplo a tolerância máxima para diferença esteja definida como 25%, então os pixels S1, S2, S3 serão contabilizados como pixels da cor verde e o pixel S4 será contabilizado como inconclusivo.

4. Se a diferença média for menor que tolerância máxima defina pelo usuário para determinada cor então

o pixel é contabilizado.

ANÁLISE DA SELEÇÃO B

Considerando a situação hipotética de que hajam somente os níveis L*a*b* de R1 e R2 na tabela de pesquisa, os resultados do cálculo da diferença são os seguintes: S5 - R:85 G:142 B:221 ↔ L*:59 a*:5 b*:-45 Diferença de S5 para R1: 49% Diferença de S5 para R2: 50% Diferença média: 49,5% S6 - R:83 G:157 B:220 ↔ L*:63 a*:-4 b*:-39 Diferença de S6 para R1: 43% Diferença de S6 para R2: 44% Diferença média: 43,5% S7 - R:85 G:171 B:220 ↔ L*:67 a*:-11 b*:-33 Diferença de S7 para R1: 38% Diferença de S7 para R2: 38% Diferença média: 38% S8: R:82 G:179 B:212 – L*:69 a*:-19 b*:-25 Diferença de S8 para R1: 32% Diferença de S8 para R2: 32% Diferença média: 32%

Considerando que neste exemplo a tolerância máxima para diferença estivesse definida como 25%, então os pixels S5, S6, S7 e S8 serão contabilizados como pixels inconclusivos.

Figura 4.7. Fluxograma das etapas básicas para comparação dos pixels da imagem com a tabela de pesquisa.

É claro que no exemplo da Figura 4.7 considerou-se uma situação que não acontecerá na realidade. Em uma situação real haveria níveis L*a*b* de referência para cada cor básica. Se considerarmos a existência de dois valores L*a*b* de referência para cada uma das 12 cores básicas na tabela de pesquisa e uma seleção de tamanho 100 x 100 pixels na imagem, ao clique do botão de reconhecimento de franjas o programa fará: 10.000 conversões de RGB para L*a*b*, 240.000 cálculos de diferença pela Equação 3.34 e 120.000 cálculos de média aritmética.

Documentos relacionados