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); }