public void testRetrieval() throws Exception { JpegCoefficientHistogram[] acc = new JpegCoefficientHistogram[testFiles.length]; LinkedList<String> vds = new LinkedList<String>(); for (int i = 0; i < acc.length; i++) { System.out.println("Extracting from number " + i); acc[i] = new JpegCoefficientHistogram(); acc[i].extract(ImageIO.read(new FileInputStream(testFilesPath + testFiles[i]))); vds.add(acc[i].getStringRepresentation()); } System.out.println("Calculating distance for " + testFiles[5]); for (int i = 0; i < acc.length; i++) { JpegCoefficientHistogram JpegCoefficientHistogram = acc[i]; float distance = acc[i].getDistance(acc[5]); System.out.println(testFiles[i] + " distance = " + distance); } int count = 0; for (Iterator<String> iterator = vds.iterator(); iterator.hasNext(); ) { String s = iterator.next(); JpegCoefficientHistogram a = new JpegCoefficientHistogram(); a.setStringRepresentation(s); float distance = acc[count].getDistance(a); System.out.println(testFiles[count] + " distance = " + distance); count++; } }
public void testExtraction() throws IOException { JpegCoefficientHistogram acc = new JpegCoefficientHistogram(); BufferedImage image = ImageIO.read(new FileInputStream(testFilesPath + testFiles[0])); System.out.println("image = " + image.getWidth() + " x " + image.getHeight()); acc.extract(image); System.out.println("acc = " + acc.getStringRepresentation()); }
public void testEquality() throws IOException { long ms, sum = 0; for (int i = 0; i < sampleQueries.length; i++) { int id = sampleQueries[i]; System.out.println("id = " + id + ": "); String file = testExtensive + "/" + id + ".jpg"; JpegCoefficientHistogram acc = new JpegCoefficientHistogram(); BufferedImage image = ImageIO.read(new FileInputStream(file)); acc.extract(image); } }
public void testPerformance() throws IOException { long ms, sum = 0; for (int i = 0; i < sampleQueries.length; i++) { int id = sampleQueries[i]; System.out.println("id = " + id + ": "); String file = testExtensive + "/" + id + ".jpg"; JpegCoefficientHistogram acc = new JpegCoefficientHistogram(); BufferedImage image = ImageIO.read(new FileInputStream(file)); ms = System.currentTimeMillis(); acc.extract(image); ms = System.currentTimeMillis() - ms; sum += ms; System.out.println( "the same? " + acc.getStringRepresentation().equals(acc.getStringRepresentation())); } System.out.println("time per image = " + sum / sampleQueries.length); System.out.println("sum = " + sum); }