Ponto JanelaDeslizante(PGM *cena, PGM *obj) { Ponto p, aux; int maior = 0; int i,j; //calcula a correlacao ao longo da cena, respeitando o limite máximo for (i=0; i<cena->l - obj->l + 1; i++) { for (j=0; j<cena->c - obj->c + 1; j++) { aux.x = j; aux.y = i; if (CorrelacaoCruzada(cena, obj, p) > maior) { p.x = aux.x; p.y = aux.y; } } } return p; }
Ponto JanelaDeslizante(PGM *cena, PGM *obj){ Ponto pontoAtual, pontoMatch; int i, j; int corCruzada = 0; int corTemporario = 0; for(i=0; i <= (cena->l - obj->l); i++){ for(j=0; j <= (cena->c - obj->c); j++){ pontoAtual.x = i; pontoAtual.y = j; corTemporario = CorrelacaoCruzada(cena, obj, pontoAtual); if(corTemporario > corCruzada){ corCruzada = corTemporario; pontoMatch.y = j; pontoMatch.x = i; } } } return pontoMatch; }