• Nenhum resultado encontrado

3.7 Preparação do equipamento

4.1.2 Processamento das imagens

Depois de serem capturadas pela câmera, as imagens são armazenadas em um computa- dor. Essas imagens podem ser lidas diretamente, através da função imread do Matlab. Dentro do programa a imagem pode ser salva como uma matriz. Assim, após armazenar a imagem em uma matriz, as operações associadas a matrizes podem ser implementadas. Identificar a área da

imagem que contém unicamente o tubo de escoamento é o que primeiro passo executado pelo código numérico. Então, as imagens, como a exibida na figura 4.1, passam a ter a forma da imagem apresentada na figura 4.2.

Figura 4.2: Imagem após a identificação da região que contém o tubo de vidro. O comprimento total da imagem corresponde a 1024 pixels. A largura é igual ao diâmetro do tubo, neste caso corresponde a 22 pixels.

As análises posteriores apenas consideram os valores contidos na matriz que representa a área do tubo. A definição dessa área e realizada da seguinte forma: para cada linha da matriz identificam-se as colunas que contêm as diferenças máxima e mínima, após realizar subtrações entre os valores de luminosidade (pixels) de duas colunas consecutivas. Em termos de funções do Matlab, as funções utilizadas foram: find, diff, max e min. Para todas as linhas, as colunas que contêm as máximas diferenças do cálculo de luminosidade identificam a parte esquerda do

tubo, por outro lado, as colunas que contêm as mínimas diferenças limitam o tubo pela direita. Em seguida, a imagem obtida da seleção da área é convertida em uma imagem em escala de cinzas, que para propósitos de descrição, denomina-se matriz �����1.

Figura 4.3: Imagem em escala de cinzas após a aplicação do filtro �1. Para a imagem exibida, o

valor de �1 é igual a 140. Comparada à figura 4.2, algumas regiões foram eliminadas devido à

utilização de �1.

Em função da intensidade luminosa, que pode variar, com a posição das lâmpadas LED, por exemplo, deve-se definir um valor critico (ou em inglês, threshold) �1, para realizar um

primeiro filtro da quantidade de branco e preto presentes na imagem. Este valor, no intervalo de 0−255, é definido pelo usuário. Os valores mais comuns utilizados foram: 140, 150, 160 e 180. Utilizando este valor, o código cria uma nova imagem substituindo com zero as células de �����1, que contêm valores menores a �1. A figura 4.3, apresenta a imagem obtida após a

Figura 4.4: Imagem binarizada (em branco e preto) do escoamento analisado. As regiôes bran- cas, correspondem aproximadamente aos plugues granulares. As regiões escuras correspondem ao tubo de vidro.

Após a aplicação de �1, aplica-se segundo um filtro, pare este caso automático, através

da função imfilter e, calcula-se um novo valor de threshold, �2, utilizando a função graytresh.

Empregando �1, �2 e o filtro automático, é possível eliminar o ruído da imagem e distinguir,

inicialmente, os contornos dos plugues. Para que o código identifique corretamente as zonas que contêm unicamente os plugues, é necessário eliminar as menores regiões de grãos, que não fazem parte dos plugues. As funções: bwlabel, regionprops e PixelIdxList, foram utilizadas para encontrar os objetos que podem ser considerados como plugues. A figura 4.4 exibe a imagem binarizada, depois de terem sido aplicadas as operações detalhadas anteriormente. As regiões brancas potencialmente podem representar os plugues granulares do escoamento.

gem mínima da largura do tubo. Assim, para que o código considere uma linha como parte de um plugue, a soma de "branco"de todas as colunas dessa linha deve superar um determinado valor. Este valor pode ser definido pelo usuário. Os valores mais utilizados foram 70% e 80%. Se a quantidade de branco nessa linha supera o valor estabelecido, a posição dela é armazenada. Este processo é aplicado para todas as linhas da matriz, de forma a determinar a largura de um plugue. Para determinar seu comprimento, ℎplug, foi aplicada a condição: ℎplug ≥ �, onde �

é o diâmetro do tubo. Definidos a largura e o comprimento, o código reconhece quando uma região branca forma parte de um plugue, ou quando é parte de uma região de grãos escoando livremente. Com isso, o código identifica e armazena as posições superiores e inferiores dos plugues encontradas nessa imagem. Os diagramas espaço-tempo mostram como essas posições variaram entre uma imagem e outra.

O tempo, �, entre a obtenção de uma imagem e outra é igual a 1/�, onde �, é a frequência de aquisição das imagens. O tempo total do ensaio, �T, pode ser calculado através da equação

4.1, sendo � o número total de imagens escolhido para o ensaio.

�T = (� − 1)/� (4.1)

Para transformar as posições dos plugues, que até o momento estão em escala de pixels, utiliza-se a imagem de calibração, que permite transformar os valores em pixels para uma escala em milímetros. Com os dados das posições dos plugues e o tempo entre as imagens, é possível construir os diagramas espaço-tempo do escoamento.

A figura 4.5 exibe uma imagem capturada durante a execução do código. Da esquerda para a direita: apresenta-se a imagem em formato RGB (figura 4.2) contendo unicamente o escoamento; a figura 4.3 apresenta a imagem após a aplicação do filtro �1; a terceira, é a imagem

binarizada (figura 4.4); a quarta apresenta um gráfico, que mostra as linhas que superaram o limite de branco para ser consideradas parte do plugue, a linha continua representa o valor limite escolhido, neste caso 70%. Finalmente, a imagem mais à direita, inclui marcas que identificam as bordas superiores e inferiores dos plugues. Para o caso apresentado, por exemplo, foram identificados três plugues.

Figura 4.5: Imagem capturada durante a execução do código numérico. As imagens contidas nesta figura apresentam graficamente, os passos do processo de reconhecimento dos plugues granulares.

Documentos relacionados