Esempio n. 1
0
        //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));
            }
        }
Esempio n. 2
0
        //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\\");
        }
Esempio n. 4
0
        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"));
        }