Ejemplo n.º 1
0
        private void SaveFeaturesExtracted(FaceFeaturesDB db, string csvGalleryPath)
        {
            var dbName           = string.Format("GalleryFeatures-{0}.csv", DateTimeOffset.Now.ToUnixTimeMilliseconds());
            var folderCsvGallery = Path.GetDirectoryName(Path.GetFullPath(csvGalleryPath));
            var path             = Path.Combine(folderCsvGallery, dbName);

            db.Dump(path);
            progressLabel.Text = string.Format("Saved on {0}", path);
        }
        public static FaceFeaturesDB ExtractFeaturesDB(PhotoSketchFeatureExtractor extractor, List <PhotoMetadata> photos, bool savedb = true)
        {
            var dbName = string.Format("features-{0}.csv", DateTimeOffset.Now.ToUnixTimeMilliseconds());
            var db     = new FaceFeaturesDB();

            Parallel.ForEach(photos, photo =>
            {
                try {
                    var feature = extractor.ExtractFaceFeatures(photo.AbsolutePath);
                    db.AddPhotoFeatures(photo, feature);
                } catch (ArgumentException) { }
            });

            if (savedb)
            {
                db.Dump(dbName);
                Console.WriteLine("Features db saved on: {0}", dbName);
            }

            return(db);
        }