//images are stored concept name "_" replacing spaces and "_clipart" if clipart/ numbers per image //potato_clipart/0.jpg etc //stored by query public ColorAssigner(String imageDirectory, String cacheDirectory, String jsonFile, String googleApiKey, String customEngineId) { imageDir = imageDirectory; json = jsonFile; cacheDir = cacheDirectory; apiKey = googleApiKey; cxId = customEngineId; //make sure the directories exist Directory.CreateDirectory(imageDir); Directory.CreateDirectory(cacheDir); //initialize color names cache colorNames = new ColorNames(jsonFile); CNcache = new double[colorNames.colors.Count(), colorNames.colors.Count()]; for (int i = 0; i < colorNames.colors.Count(); i++) { for (int j = 0; j < colorNames.colors.Count(); j++) { CNcache[i, j] = -1; } } foreach (String hex in paletteHex) { Color color = ColorTranslator.FromHtml(hex); paletteRGB.Add(color); paletteLAB.Add(Util.RGBtoLAB(color)); } }
//images are stored concept name "_" replacing spaces and "_clipart" if clipart/ numbers per image //potato_clipart/0.jpg etc //stored by query public ColorAssigner(String imageDirectory, String cacheDirectory, String jsonFile, String googleApiKey, String customEngineId) { imageDir = imageDirectory; json = jsonFile; cacheDir = cacheDirectory; apiKey = googleApiKey; cxId = customEngineId; //make sure the directories exist Directory.CreateDirectory(imageDir); Directory.CreateDirectory(cacheDir); //initialize color names cache colorNames = new ColorNames(jsonFile); CNcache = new double[colorNames.colors.Count(), colorNames.colors.Count()]; for (int i = 0; i < colorNames.colors.Count(); i++) for (int j = 0; j < colorNames.colors.Count(); j++) CNcache[i, j] = -1; foreach (String hex in paletteHex) { Color color = ColorTranslator.FromHtml(hex); paletteRGB.Add(color); paletteLAB.Add(Util.RGBtoLAB(color)); } }
String weightsDir; //weights directory #endregion Fields #region Constructors //Set the base directory (where all the images are), and pass in the filepath //for the color names data public PaletteExtractor(String directory, String wDir, String json) { dir = directory; weightsDir = wDir; colorNames = new ColorNames(json); int numBins = colorNames.map.Keys.Count(); cnCache = new double[numBins, numBins]; for (int i = 0; i < numBins; i++) { for (int j = 0; j < numBins; j++) cnCache[i, j] = -1; } featureName = new FeatureName(); //create base subdirectories Directory.CreateDirectory(dir + "\\swatches\\"); Directory.CreateDirectory(dir + "\\out\\"); Directory.CreateDirectory(dir + "\\saliency\\"); Directory.CreateDirectory(dir + "\\segments\\"); }
String weightsDir; //weights directory #endregion Fields #region Constructors /** * Set the base directory (where all the images are), weights directory (wDir), and pass in the filepath * for the color names json data */ public PaletteExtractor(String directory, String wDir, String json, bool debugLogs=false) { debug = debugLogs; dir = directory; weightsDir = wDir; colorNames = new ColorNames(json); int numBins = colorNames.map.Keys.Count(); cnCache = new double[numBins, numBins]; cacheLocks = new object[256]; for (int i = 0; i < numBins; i++) { for (int j = 0; j < numBins; j++) { cnCache[i, j] = -1; } } for (int i = 0; i < cacheLocks.Length; i++) cacheLocks[i] = new object(); featureName = new FeatureName(); //create base subdirectories Directory.CreateDirectory(Path.Combine(dir, "swatches")); Directory.CreateDirectory(Path.Combine(dir, "out")); Directory.CreateDirectory(Path.Combine(dir, "saliency")); Directory.CreateDirectory(Path.Combine(dir, "segments")); }