package eu.europeana.service.ir.image.features; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import org.junit.Test; public class ScalableAndDominatColorExtractorTest { @Test public void testDCDExtraction() throws IOException { File testImagesFolder = new File("/tmp/dcd"); String[] fileNames = testImagesFolder.list(); File imageFile; DominantColor extractor = new DominantColor(); for (int i = 0; i < fileNames.length; i++) { //skip non image files if(!fileNames[i].endsWith(".jpg")) continue; imageFile = new File(testImagesFolder, fileNames[i]); BufferedImage image = ImageIO.read(imageFile); extractor.extract(image); DominantColorDescriptor descriptor = extractor.getDescriptor(); descriptor.setImage(imageFile.toString()); System.out.println(descriptor); Color rgb; System.out.println("<table>"); for (ColorBin bin : descriptor.bins) { float h = (float) bin.hCentroid / 255; float s = (float) bin.sCentroid / 255; float v = (float) bin.vCentroid / 255; int rgbVal = Color.HSBtoRGB(h, s, v); rgb = new Color(rgbVal); String styleRgb = rgb.getRed() + "," + rgb.getGreen() + "," + rgb.getBlue(); String htmlRgb = "#" + Integer.toHexString(rgb.getRed()) + Integer.toHexString(rgb.getGreen()) + Integer.toHexString(rgb.getBlue()); System.out.print("\n<tr><td>" + bin.getPercentage()); System.out.print("</td><td>" + bin.getNormalizedScore() + "</td><td style='background-color:rgb("); System.out.print(styleRgb); System.out.print(")'>"+styleRgb +"</td><td bgcolor='" + htmlRgb); System.out.print("'>"+htmlRgb+ "</td></tr>"); } System.out.println("</table>"); // for(Map.Entry<String, ColorBin> entry : // extractor.binMap.entrySet()){ // System.out.println("Bin: " + entry.getKey()); // System.out.println("Values: " + entry.getValue()); // } // values = extractor.extractDescriptor(imageFile); // System.out.println(imageFile); // System.out.println(values); } } }