public static async void CreateSubfoldersAndHough(string rootFolder) { string leafTypeMaxPoints = string.Empty; var appFolder = await KnownFolders.PicturesLibrary.GetFolderAsync(rootFolder); foreach (var folderName in Folders.Names) { var leafTypeFolder = await appFolder.GetFolderAsync(folderName); var leafStorageFiles = await leafTypeFolder.GetFilesAsync(Windows.Storage.Search.CommonFileQuery.OrderByDate); var gray = await leafTypeFolder.CreateFolderAsync("Grayscale"); var filtered = await leafTypeFolder.CreateFolderAsync("GaussianFilter"); var Gradient = await leafTypeFolder.CreateFolderAsync("Gradient"); var HOG = await leafTypeFolder.CreateFolderAsync("HOG"); foreach (var storageFile in leafStorageFiles) { var image = new Image(await ImageIO.LoadSoftwareBitmapFromFile(storageFile)); ImageIO.WriteToFile(gray, "leaf", image.SoftwareBitmap); image.GaussianFilter(); ImageIO.WriteToFile(filtered, "leaf", image.SoftwareBitmap); image.ComputeGradient(); ImageIO.WriteToFile(Gradient, "leaf", image.SoftwareBitmap); image.DrawHistogramOfOrientedGradients(240, 9); ImageIO.WriteToFile(HOG, "leaf", image.SoftwareBitmap); } } }
public static async void CreateHistogramAndWriteThemToFiles(string rootFolder, string fileName) { var appFolder = await KnownFolders.PicturesLibrary.GetFolderAsync(rootFolder); string leafTypeMaxPoints = Folders.Names.Length + Environment.NewLine; foreach (var folderName in Folders.Names) { var leafTypeFolder = await appFolder.GetFolderAsync(folderName); var leafStorageFiles = await leafTypeFolder.GetFilesAsync(Windows.Storage.Search.CommonFileQuery.OrderByDate); foreach (var storageFile in leafStorageFiles) { var image = new Image(await ImageIO.LoadSoftwareBitmapFromFile(storageFile)); var histogram = image .GaussianFilter() .ComputeGradient() .DeleteSquare() .HistogramOfOrientedGradients(240, 13) .Normalize(); leafTypeMaxPoints += folderName.ToString(); foreach (var value in histogram) { leafTypeMaxPoints += " " + value; } leafTypeMaxPoints += Environment.NewLine; } } DataManager.WriteToFile(leafTypeMaxPoints, appFolder, fileName); }
private async void Open_Photo(object sender, RoutedEventArgs e) { Image image = new Image(await ImageIO.LoadSoftwareBitmapFromFile()); var bitmapSource = new SoftwareBitmapSource(); editPreview.Source = bitmapSource; await ComputeHistogramWithDisplay(image, bitmapSource, TimeSpan.FromMilliseconds(1000)); }