Package JDescriptors.fr.lip6.bin

Source Code of JDescriptors.fr.lip6.bin.CreateIHSVectors

package JDescriptors.fr.lip6.bin;

import java.io.File;
import java.util.ArrayList;

import JDescriptors.fr.lip6.color.ColorVQDescriptorCreator;
import JDescriptors.fr.lip6.color.ColorVQFloatDescriptor;
import JDescriptors.fr.lip6.color.model.IHSColorQuantizer;
import JDescriptors.fr.lip6.detector.HoneycombDetector;
import JDescriptors.fr.lip6.io.XMLWriter;


public class CreateIHSVectors {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
   
    if(args.length < 7)
    {
      System.out.println("usage : CreateIHSvectors <src> <dst> <I> <H> <S> <spacing> <radius>");
      return ;
    }
   
    String srcDir = args[0];
    String dstDir = args[1];
    int I = Integer.parseInt(args[2]);
    int H = Integer.parseInt(args[3]);
    int S = Integer.parseInt(args[4]);
    int s = Integer.parseInt(args[5]);
    int r = Integer.parseInt(args[6]);
    int maxHeight = (args.length >= 8) ? Integer.parseInt(args[7]) : -1;
    boolean onlyTop = (Integer.parseInt(args[8]) == 1);
   
    ColorVQDescriptorCreator c = ColorVQDescriptorCreator.getInstance();
    //System.out.println(" s = " + s + " ; r = " + s + " ; cut = " + cut);
   
    //Descriptor creator
    HoneycombDetector detector = new HoneycombDetector(s, r);
    c.setDetector(detector);
    IHSColorQuantizer q = new IHSColorQuantizer(I, H, S);
    c.setQuantizer(q);
    c.setNormalize(false);
   
    File src = new File(srcDir);
    if(!src.exists() || !src.isDirectory())
    {
      System.out.println(srcDir+" : No such directory !");
      return;
    }
   
    String[] files2 = src.list();
    if(files2 == null)
    {
      System.out.println("No files in "+srcDir);
      return;
    }
    //(new File(dstDir)).mkdir();
    for (String f2 : files2) {
    System.out.println("f2 = " + dstDir+f2);

    (new File(dstDir+f2)).mkdir();
    for(String f : new File(srcDir+"\\"+f2).list())
    {
      if (!(f.endsWith(".png"))){
        continue;
      }
      try
      {
        //if (!(new File(dstDir+f2+"\\"+f.substring(0, f.indexOf('.'))+".xgz").exists()) && !f.equals("280.png") && !f.equals("281.png") ){
          //System.out.println(f);
        System.out.println("lecture de " + srcDir+"/"+f2+"/"+f);
        if (!(new File(dstDir+f2+"\\"+f.substring(0, f.indexOf('.'))+".xgz").exists())) {
        ArrayList<ColorVQFloatDescriptor> list = c.createDescriptors(srcDir+"/"+f2+"/"+f, maxHeight, onlyTop);
        XMLWriter.writeXMLFile(dstDir+"/"+f2+"/"+f.substring(0, f.indexOf('.')), list, true);
        System.out.println(f+" descriptor written : taille = " + list.size());
        }
      }
      catch(Exception ioe)
      {
        System.err.println("no descriptors for "+f);
        ioe.printStackTrace();
      }
    }
    }

  }

}
TOP

Related Classes of JDescriptors.fr.lip6.bin.CreateIHSVectors

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.