Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** Retorna a matriz resultado da busca
- */
- matriz busca(matriz *original, matriz *recorte) {
- matriz * localizada = cópia da matriz original;
- matriz * recorteMaisProximo = nada por enquanto;
- matriz * recorteDaOriginal = nada por enquanto;
- unsigned int mseMenor, mseTemporario;
- unsigned int xDoMenor, yDoMenor;
- for (j) {
- for(i) {
- recorteDaOriginal = recortar a original;
- mseTemporario = comparaMatrizes(recorteDaOriginal, );
- if (mseTemporario < mseMenor) {
- xDoMenor = i;
- yDoMenor = j;
- mseMenor = mseTemporario;
- recorteMaisProximo = recorteDaOriginal;
- }
- }
- }
- return marcarMatriz(localizada, recorteMaisProximo, xDoMenor, yDoMenor);
- }
- /** Compara a diferença das matrizes retornando
- * a diferença através do MSE
- *
- * Obs: Imagem 1 e imagem 2 devem ter o mesmo tamanho;
- */
- static int comparaMatrizes(matriz * imagem1, matriz * imagem2) {
- int soma = 0;
- int pixel1, pixel2;
- int i, tamanho = imagem1->altura * imagem1->largura;
- for (i = 0; i < tamanho; i++) {
- pixel1 = *(imagem1->dadosM + i);
- pixel2 = *(imagem2->dadosM + i);
- subtracao = pixel1 - pixel2;
- soma += subtracao * subtracao;
- }
- return soma / tamanho;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement