Ejemplo n.º 1
0
 public void testSingleFile() throws IOException {
   CEDD c = new CEDD();
   BufferedImage img =
       ImageIO.read(new File("C:\\Java\\Projects\\LireSVN\\testdata\\wang-1000\\652.jpg"));
   c.extract(img);
   String s = Arrays.toString(c.getDoubleHistogram());
   System.out.println("s = " + s);
   byte[] b = c.getByteArrayRepresentation();
   CEDD d = new CEDD();
   d.setByteArrayRepresentation(b);
   System.out.println(d.getDistance(c));
 }
Ejemplo n.º 2
0
  public void testSerialization() throws IOException {
    int bytes = 0;
    int sum = 0;
    ArrayList<File> files = FileUtils.getAllImageFiles(new File("testdata/ferrari"), true);
    for (Iterator<File> iterator = files.iterator(); iterator.hasNext(); ) {
      File next = iterator.next();
      BufferedImage image = ImageIO.read(next);
      CEDD f1 = new CEDD();
      CEDD f2 = new CEDD();

      f1.extract(image);
      //            System.out.println(Arrays.toString(f1.getDoubleHistogram()));
      bytes += f1.getByteArrayRepresentation().length;
      sum += 144 / 2;
      f2.setByteArrayRepresentation(f1.getByteArrayRepresentation());
      //            System.out.println(Arrays.toString(f2.getDoubleHistogram()));
      double[] h = f2.getDoubleHistogram();
      int pos = -1;
      for (int i = 0; i < h.length; i++) {
        double v = h[i];
        if (pos == -1) {
          if (v == 0) pos = i;
        } else if (pos > -1) {
          if (v != 0) pos = -1;
        }
      }
      System.out.println("save = " + (144 - pos));
      //            bytes += (168 - pos);
      assertTrue(f2.getDistance(f1) == 0);
      boolean isSame = true;
      //            for (int i = 0; i < f2.getFieldName().length; i++) {
      //                if (f1.data[i] != f2.data[i]) isSame = false;
      //            }
      assertTrue(isSame);
    }
    double save = 1d - (double) bytes / (double) sum;
    System.out.println(save * 100 + "% saved");
  }