public static void main(String[] args) throws IOException { ArrayList<File> files = FileUtils.getAllImageFiles(new File("D:\\Temp\\tmp"), false); int count = 10; for (Iterator<File> iterator = files.iterator(); iterator.hasNext(); ) { File next = iterator.next(); BufferedImage img = ImageIO.read(next); BufferedImage toWrite = new BufferedImage(img.getWidth()*2, img.getHeight(), BufferedImage.TYPE_INT_RGB); toWrite.getGraphics().drawImage(img, 0, 0, null); BufferedImage bufferedImage = clusterPixels(img); toWrite.getGraphics().drawImage(bufferedImage, img.getWidth(), 0, null); ImageIO.write(toWrite, "png", new File("out_test_"+count+".png")); count++; } }
public static void main(String[] args) throws IOException { ArrayList<File> files = FileUtils.getAllImageFiles(new File("D:\\Temp\\tmp"), false); int count = 10; for (Iterator<File> iterator = files.iterator(); iterator.hasNext(); ) { File next = iterator.next(); BufferedImage img = ImageIO.read(next); BufferedImage toWrite = new BufferedImage(img.getWidth()*2, img.getHeight(), BufferedImage.TYPE_INT_RGB); toWrite.getGraphics().drawImage(img, 0, 0, null); BufferedImage bufferedImage = clusterPixels(img); toWrite.getGraphics().drawImage(bufferedImage, img.getWidth(), 0, null); ImageIO.write(toWrite, "png", new File("out_test_"+count+".png")); count++; } }
public void testExtraction() throws IOException, IllegalAccessException, InstantiationException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); GlobalFeature accid = gFeat.getClass().newInstance(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); accid.extract(ImageIO.read(nextImage)); System.out.println(nextImage.getName() + ": " + Arrays.toString(accid.getFeatureVector())); } }
public void testDistance() throws IOException, IllegalAccessException, InstantiationException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); LinkedList<GlobalFeature> features = new LinkedList<>(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); GlobalFeature accid = gFeat.getClass().newInstance(); accid.extract(ImageIO.read(nextImage)); features.add(accid); assertEquals(accid.getDistance(accid), 0d); } }
public void testListFiles() { // see if it just works. try { ArrayList<File> testdata1 = FileUtils.getAllImageFiles(new File("testdata/ferrari/black"), true); assertEquals(19, testdata1.size()); } catch (IOException e) { e.printStackTrace(); } // see if it just fails. try { ArrayList<File> testdata2 = null; testdata2 = FileUtils.getAllImageFiles(new File("testdata/ferrari/black/nothing"), true); fail(); } catch (Exception e) { // e.printStackTrace(); } }
public void testExtraction() throws IOException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); ACCID accid = new ACCID(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); accid.extract(ImageIO.read(nextImage)); System.out.println(nextImage.getName() + ": " + Arrays.toString(accid.getFeatureVector())); } }
public void testDistance() throws IOException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); LinkedList<ACCID> features = new LinkedList<>(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); ACCID accid = new ACCID(); accid.extract(ImageIO.read(nextImage)); features.add(accid); assertEquals(accid.getDistance(accid), 0d); } }
public void testSerialization() throws IOException, IllegalAccessException, InstantiationException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); GlobalFeature accid = gFeat.getClass().newInstance(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); accid.extract(ImageIO.read(nextImage)); GlobalFeature a2 = gFeat.getClass().newInstance(); a2.setByteArrayRepresentation(accid.getByteArrayRepresentation()); assertEquals(a2.getDistance(accid), 0d); } }
public void testExtractionSimpleCentrist() throws IOException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); SimpleCentrist sc = new SimpleCentrist(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); sc.extract(ImageIO.read(nextImage)); assertEquals(sc.getDistance(sc), 0d); // System.out.println(nextImage.getName() + ": " + Arrays.toString(sc.getFeatureVector())); } }
public void testExtractionSpatialPyramidCentrist() throws IOException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); SpatialPyramidCentrist sc = new SpatialPyramidCentrist(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); sc.extract(ImageIO.read(nextImage)); assertEquals(sc.getDistance(sc), 0d); // System.out.println(nextImage.getName() + ": " + sc.getFeatureVector().length + " entries -> "+ Arrays.toString(sc.getFeatureVector())); } } }
public void testLoadingIndex() throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException { MetricSpaces.loadReferencePoints(new GZIPInputStream(new FileInputStream("src/test/resources/metricspaces/refPoints_PHOG.dat.gz"))); MetricSpaces.loadReferencePoints(new GZIPInputStream(new FileInputStream("src/test/resources/metricspaces/refPoints_CEDD.dat.gz"))); ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File(imageDirectory), true); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { GlobalFeature feature; feature = new CEDD(); file = iterator.next(); feature.extract(ImageIO.read(new FileInputStream(file))); System.out.println(MetricSpaces.generateHashString(feature)); feature = new PHOG(); feature.extract(ImageIO.read(new FileInputStream(file))); System.out.println(MetricSpaces.generateHashString(feature)); } }
public void testSerialization() throws IOException { ArrayList<File> imageFiles = FileUtils.getAllImageFiles(new File("src/test/resources/images"), true); ACCID accid = new ACCID(); for (Iterator<File> iterator = imageFiles.iterator(); iterator.hasNext(); ) { File nextImage = iterator.next(); accid.extract(ImageIO.read(nextImage)); ACCID a2 = new ACCID(); a2.setByteArrayRepresentation(accid.getByteArrayRepresentation()); assertEquals(a2.getDistance(accid), 0d); } }
public static void main(String[] args) throws IOException { ArrayList<File> files = FileUtils.getAllImageFiles(new File("D:\\Temp\\tmp"), false); int count = 10; for (Iterator<File> iterator = files.iterator(); iterator.hasNext(); ) { File next = iterator.next(); BufferedImage img = ImageIO.read(next); BufferedImage toWrite = new BufferedImage(img.getWidth()*2, img.getHeight(), BufferedImage.TYPE_INT_RGB); toWrite.getGraphics().drawImage(img, 0, 0, null); BufferedImage bufferedImage = clusterPixels(img); toWrite.getGraphics().drawImage(bufferedImage, img.getWidth(), 0, null); ImageIO.write(toWrite, "png", new File("out_test_"+count+".png")); count++; } }
/** * Returns all jpg & png images from a directory in an array. * * @param directory the directory to start with * @param descendIntoSubDirectories should we include sub directories? * @return an ArrayList<File> containing all the files or nul if none are found.. * @throws IOException */ public static ArrayList<File> getAllImageFiles(File directory, boolean descendIntoSubDirectories) throws IOException { ArrayList<File> resultList = new ArrayList<File>(256); File[] f = directory.listFiles(); for (File file : f) { if (file != null && (file.getName().toLowerCase().endsWith(".jpg") || file.getName().toLowerCase().endsWith(".png")) && !file.getName().startsWith("tn_")) { resultList.add(file); } if (descendIntoSubDirectories && file.isDirectory()) { ArrayList<File> tmp = getAllImageFiles(file, true); if (tmp != null) { resultList.addAll(tmp); } } } if (resultList.size() > 0) return resultList; else return null; }