O reconhecimento de texturas em imagens uma atividade importante, que faz parte de uma vasta gama de aplicaes em diversas reas. Dentre elas podemos citar o diagnstico mdico, a automao industrial, o reconhecimento biomtrico, sensores remotos e outras. A idia inicial do reconhecimento de texturas, assim como outras atividades da rea de anlise de imagens, consiste em extrair da imagem algumas caractersticas que permitam realizar posteriormente um discernimento, uma tomada de deciso ou uma classificao.
Vetor de caractersticas
Para reconhecimento de texturas (em uma classificao eficiente das texturas) se faz necessrio a extrao de algumas caractersticas importantes da imagem original, de forma a possibilitar a correta distino e classificao das texturas.
Matriz de co-ocorrncia de tons de cinza
uma matriz bidimensional, gerada a partir da contagem das ocorrncias das combinaes entre os tons de cinza do pixel analisado de um pixel vizinho. Para cada uma das combinaes possveis entre o pixel e o pixel vizinho (normalmente o pixel direita, por default), ser criado um elemento na matriz de co-ocorrncia de tons de cinza, de forma que o tamanho da matriz de co- ocorrncia ser de t x t, onde t o nmero de tons presentes na imagem original. A figura abaixo exemplifica melhor como ocorre o processo de construo da matriz de co-ocorrncia de tons de cinza:
Repare que ao elemento (1,1) da matriz de co-ocorrncia de tons de cinza foi associado um valor 1. Este valor 1 est representando a quantidade de ocorrncias da combinao [1 1] existentes na imagem original. Como essa combinao [1 1] ocorre apenas uma nica vez em toda a imagem, fica armazenado no elemento (1,1) o valor 1. J para o elemento (1,2), foi colocado o valor 2, que simboliza a existncia de 2 ocorrncias da combinao [1 2] na imagem original. A partir da matriz de co-ocorrncia de tons de cinza, algumas caractersticas interessantes podem ser obtidas. So elas:
Caracterstica Descrio FrmuIa Matemtica Contraste Retorna uma medida do contraste entre as intensidades de um pixel analisado e do pixel vizinho. A comparao realizada em todos os pixels da imagem. Para uma imagem constante (mesmo tom de cinza em toda a extenso), o contraste 0 (zero).
Correlao Retorna uma medida de quo correlacionado est um pixel com o seu vizinho. A comparao realizada em todos os pixels da imagem.
Faixa de valores possveis: -1 a 1 A correlao 1 para uma imagem totalmente correlacionada ou -1 para uma completamente descorrelacionada.
Energia Retorna a soma dos elementos elevados ao quadrado dentro da matriz de co- ocorrncia de tons de cinza.
Faixa de valores possveis: 0 a 1 A energia possui valor 1 para uma imagem constante (mesmo tom de cinza em toda a sua extenso).
Homogeneidade Retorna um valor que representa a proximidade da distribuio dos elementos em relao diagonal da matriz de co- ocorrncia dos tons de cinza. Faixa de valores possveis: 0 a 1 Um valore de Homogeneidade 1 representa uma matriz diagonal de co- ocorrncia de tons de cinza.
O pixel vizinho a ser comparado com o pixel analisado, normalmente o pixel a direita (default), mas podemos utilizar qualquer pixel vizinho, inclusive alguns pixels com distncia de vizinhana maior que 1. Tambm podemos trabalhar com mais de um pixel vizinho, criando uma matriz de vizinhana. A figura abaixo explicar melhor como essa matriz de vizinhana pode ser construda.
Com base na figura acima, poderamos ento, gerar a seguinte matriz de vizinhana:
A ttulo de exemplo, podemos produzir no Matlab um grfico que cruza a caracterstica de correlao com a vizinhana de pixels para a imagem abaixo:
Imagem a ser analisada
Grfico de correlao x vizinhana gerado no Matlab
Para a gerao do grfico acima, foi utilizada a matriz de vizinhana [0 1; 0 2; 0 3; 0 4], que corresponde a uma vizinhana de variando entre 1 e 4 pixels direita (eixo horizontal). Repare que para uma vizinhana de apenas 1 pixel, podemos visualizar um valor de correlao em torno de 0,5. Este valor vai decaindo medida em que a distncia entre o pixel e o seu vizinho aumenta, resultando num valor prximo de zero quando a distncia entre o pixel analisado e o pixel vizinho de 4 pixels. O grfico mostra ento que h uma certa correlao entre os pixels mais prximos da imagem, mas que a imagem como um todo no homognea (vizinhanas mais distantes possuem correlao prxima de zero). Para gerar o grfico no Matlab, foram necessrios os seguintes comandos: I = imread(c:\matriz.gif);
Referncias: http://homepages.inf.ed.ac.uk/rbf/HIPR2/ (tutorial com tudo sobre analise de imagens) http://www.mathworks.com/access/helpdesk/help/toolbox/images/enhanc15.html#3 3707 (matriz de co-ocorrncia de nveis de cinza) http://www.mathworks.com/access/helpdesk/help/toolbox/images/graycoprops.html (caractersticas derivadas da matriz de co-ocorrncia de nveis de cinza)