Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. /** Retorna a matriz resultado da busca
  3.  */
  4. matriz busca(matriz *original, matriz *recorte) {
  5.     matriz * localizada = cópia da matriz original;
  6.  
  7.     matriz * recorteMaisProximo = nada por enquanto;
  8.     matriz * recorteDaOriginal =  nada por enquanto;
  9.  
  10.     unsigned int mseMenor, mseTemporario;
  11.     unsigned int xDoMenor, yDoMenor;
  12.  
  13.     for (j) {
  14.         for(i) {
  15.             recorteDaOriginal = recortar a original;
  16.  
  17.             mseTemporario = comparaMatrizes(recorteDaOriginal, );
  18.  
  19.             if (mseTemporario < mseMenor) {
  20.                 xDoMenor = i;
  21.                 yDoMenor = j;
  22.                 mseMenor = mseTemporario;
  23.                 recorteMaisProximo = recorteDaOriginal;
  24.             }
  25.         }
  26.     }
  27.  
  28.     return marcarMatriz(localizada, recorteMaisProximo, xDoMenor, yDoMenor);
  29. }
  30.  
  31.  
  32. /** Compara a diferença das matrizes retornando
  33.  *  a diferença através do MSE
  34.  *
  35.  * Obs: Imagem 1 e imagem 2 devem ter o mesmo tamanho;
  36.  */
  37. static int comparaMatrizes(matriz * imagem1, matriz * imagem2) {
  38.     int soma = 0;
  39.  
  40.     int pixel1, pixel2;
  41.     int i, tamanho = imagem1->altura * imagem1->largura;
  42.     for (i = 0; i < tamanho; i++) {
  43.         pixel1 = *(imagem1->dadosM + i);
  44.         pixel2 = *(imagem2->dadosM + i);
  45.  
  46.         subtracao = pixel1 - pixel2;
  47.         soma += subtracao * subtracao;
  48.     }
  49.  
  50.     return soma / tamanho;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement