2007 August 07 17:22:58 BRT

implementação da transformada discreta de cosseno em java

Mais uma busca que caia no meu site. Provavelmente por causa do artigo Transformada discreta de cosseno, e dos diversos artigos com código java. Para não deixar o público na mão, resolvi implementar 🙂

Quem quiser mais detalhes sobre o que é isso e pra que serve leiam o artigo:

public class dct {
 
   /**
    * Calcula a DCT (Transformada Discreta de Cosseno) de uma matriz 
    * quadrada NxN.
    * Este código não é otimizado, para possíveis otimizações, 
    * definições e detalhes, veja
    * http://www.girino.org/mediawiki/index.php/Transformada_discreta_de_cosseno
    *
    * @param img a matriz (imagem) a ser codificada.
    * @param size o tamanho da matriz.
    * @return a matriz transformada.
    **/
   public static double[][] dct(double[][] img, int size) {
      double[][] ret = new double[size][size];
      for (int i = 0; i < size; i++) {
         for (int j = 0; j < size; j++) {
            ret[i][j] = 0;
            for (int x = 0; x < size; x++) {
               for (int y = 0; y < size; y++) {
                  double tmp = img[x][y];
                  tmp *= Math.cos((2*y + 1) * j * Math.PI/(2*size));
                  tmp *= Math.cos((2*x + 1) * i * Math.PI/(2*size));
                  ret[i][j] += tmp;
               }
            }
            ret[i][j] *= 1.0/Math.sqrt(2*size);
            ret[i][j] *= i==0?1.0/Math.sqrt(2):1.0;
            ret[i][j] *= j==0?1.0/Math.sqrt(2):1.0;
         }
      }
      return ret;
   }
 
   /** Matriz de exemplo usada no método main() **/
   public static double[][] test = {
      {1. ,     19. ,    37. ,    55. ,    73. ,    91. ,    109. ,   127.},
      {19. ,    37. ,    55. ,    73. ,    91. ,    109. ,   127. ,   145.},
      {37. ,    55. ,    73. ,    91. ,    109. ,   127. ,   145. ,   163.},
      {55. ,    73. ,    91. ,    109. ,   127. ,   145. ,   163. ,   181.},
      {73. ,    91. ,    109. ,   127. ,   145. ,   163. ,   181. ,   199.},
      {91. ,    109. ,   127. ,   145. ,   163. ,   181. ,   199. ,   217.},
      {109. ,   127. ,   145. ,   163. ,   181. ,   199. ,   217. ,   235.},
      {127. ,   145. ,   163. ,   181. ,   199. ,   217. ,   235. ,   253.}
   };
 
   /** Exemplo. Executa o DCT na matriz de exemplo e imprime o resultado **/
   public static void main(String[] args) {
      double[][] tmp = dct(test, 8);
      for (int i = 0; i < 8; i ++) {
         for (int j = 0; j < 8; j++) {
            System.out.print(tmp[i][j]);
            System.out.print(", ");
         }
         System.out.print("n");
      }
   }
}

--GirinoVey 17:32, 7 Agosto 2007 (BRT)

2007 August 07 12:01:15 BRT

aprender a dancar kudos

Pra quem não sabe, eu sempre "monitoro" os acessos que chegam no meu site vindos de máquinas de busca. Mas o mais esquisito de todos foi esse:

  • aprender a dancar kudos

Que diabos é dançar kudos? Até onde eu sabia, kudos era:

Kudos (IPA:'kju:d?s), from the Greek ????? kydos (literally "that which is heard of") means fame and renown resulting from an act or achievement; by extension is often used as a praising remark. It entered English as British university slang in the early 1800s.
In English, as In Greek, Kudos is a singular, not a plural, noun. [1]

E pior, que diabos alguém querendo dançar kudos veio parar no meu site.

Resolvi, claro, fazer a busca! E... Holly Jesus! Meu site é o primeiro da lista do google pra essa frase:

Todos os blogs - GirinoWiki
- [ Translate this page ]
E doida pra aprender a dançar. Começa a música e um dos brasucas tira ela pra ..... Kudos pro pessoal da TeHospedo (meu provedor)! Agora tenho mathrm{L!! ...
www.girino.org/blog/ - 203k - Cached - Similar pages - Note this[2]

Bom, o google juntou coisas que não tem nada a ver! Mas eu continuo sem saber...

  • Que diabos quer dizer "dançar kudos" ???

Créditos

  1. ? Tirado de: Kudos, http://en.wikipedia.org/w/index.php?title=Kudos&oldid=149675873 (last visited Aug. 7, 2007).
  2. ? Tirado de: Google, http://www.google.com/search?q=aprender+a+dancar+kudos (last visited Aug. 7, 2007).

--girino 12:20, 7 Agosto 2007 (BRT)