co-ocorrencia matlab

Upload: reynan-giacomin-borlini

Post on 09-Jul-2015

85 views

Category:

Documents


0 download

TRANSCRIPT

E\$QGUp/XL]%UD]LOMatrizes de co-ocorrncia no MathLab Oreconhecimento detexturasemimagens umaatividade 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. Aidiainicialdoreconhecimentodetexturas,assimcomooutras atividadesdareadeanlisedeimagens,consisteemextrairdaimagem algumascaractersticasquepermitamrealizarposteriormenteum discernimento, uma tomada de deciso ou uma classificao. Vetor de caractersticas Parareconhecimentodetexturas(emumaclassificaoeficientedas texturas)sefaznecessrioaextraodealgumascaractersticasimportantes daimagemoriginal,deformaapossibilitaracorretadistinoeclassificao das texturas. Matriz de co-ocorrncia de tons de cinza umamatrizbidimensional,geradaapartirdacontagemdas 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 deco-ocorrnciadetonsdecinza,deformaqueotamanhodamatrizdeco-ocorrnciaserdetxt,ondetonmerodetonspresentesnaimagem original.Afiguraabaixoexemplificamelhorcomoocorreoprocessode construo da matriz de co-ocorrncia de tons de cinza: Reparequeaoelemento(1,1)damatrizdeco-ocorrnciadetonsde cinzafoiassociadoumvalor1.Estevalor1estrepresentandoaquantidade de ocorrncias da combinao [1 1] existentes na imagem original. Como essa combinao[11]ocorreapenasumanicavezemtodaaimagem,fica armazenado no elemento (1,1) o valor 1. J para o elemento (1,2), foi colocado o valor 2,que simboliza aexistnciade 2ocorrnciasda combinao [1 2]na imagem original.Apartirdamatrizdeco-ocorrnciadetonsdecinza,algumas caractersticas interessantes podem ser obtidas. So elas: CaractersticaDescrioFrmuIa Matemtica ContrasteRetorna 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). CorrelaoRetorna 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. EnergiaRetorna 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). HomogeneidadeRetorna 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 1Um 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 pixeladireita(default),maspodemosutilizarqualquerpixelvizinho,inclusive algunspixelscomdistnciadevizinhanamaiorque1.Tambmpodemos trabalharcommaisdeumpixelvizinho,criandoumamatrizdevizinhana.A figuraabaixoexplicarmelhorcomoessamatrizdevizinhanapodeser construda. Combasenafiguraacima,poderamosento,geraraseguintematriz de vizinhana: matriz_vizinhanca = [0 1; 0 2; 0 3; 0 4;... -1 1; -2 2; -3 3; -4 4;... -1 0; -2 0; -3 0; -4 0;... -1 -1; -2 -2; -3 -3; -4 -4]; 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, podemosvisualizarumvalordecorrelaoemtornode0,5.Estevalorvai decaindomedidaemque adistnciaentreopixeleoseuvizinho aumenta, resultandonumvalorprximodezeroquandoadistnciaentreopixel analisadoeopixelvizinhode4pixels.Ogrficomostraentoquehuma certa correlao entre os pixels mais prximos da imagem, mas que a imagem comoumtodonohomognea(vizinhanasmaisdistantespossuem correlao prxima de zero). ParagerarogrficonoMatlab,foramnecessriososseguintes comandos: I = imread(c:\matriz.gif);

vizinhanca = [0 1; 0 2; 0 3; 0 4];

GLCM = graycomatrix(I,Offset,vizinhanca); stats = graycoprops(GLCM,Correlation); figure, plot([stats.Correlation]); title('Correlao x Vizinhana'); ylabel('Correlao'); xlabel('Vizinhana'); 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#33707 (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)