Exemplo n.º 1
0
        public void RebuildDatabase(string fileLocation)
        {
            string[] images = new[]
                                  {
                                      Directory.GetFiles(fileLocation, "*.jpg"),
                                      Directory.GetFiles(fileLocation, "*.png")
                                  }.SelectMany(x => x).ToArray();

            int i = 0;
            int total = images.Length;

            var entities = images
                    .AsParallel()
                    .Select(f =>
                                {

                                    var s = new SearchEntity(f, new Bitmap(f).GetHistograms());

                                    var current = Interlocked.Increment(ref i);
                                    Console.Write("\rRebuilding database: {0}%   ", (i / (double)total * 100).ToString("N1"));

                                    return s;
                                })
                    .ToArray();

            _db = new SearchDatabase {Images = entities, BasePath = fileLocation};

            Console.WriteLine("");
        }
Exemplo n.º 2
0
 public SearchResult(double distance, SearchEntity entity)
 {
     Distance = distance;
     Entity = entity;
 }