public void SelectDirectory() { string stream = folderDialog.OpenFolder(); if (!stream.Equals(String.Empty)) { Progress = 0; ClassVMs = new ObservableCollection <ImageClassVM>(); db = new Database.ApplicationContext(); var dir = Directory.GetFiles(stream); Images = new ObservableCollection <ImageVM>(); List <string> fileNames = new List <string>(); foreach (var file in dir) { bool flag = false; var fileInfo = new FileInfo(file); foreach (var img in db.Images) { if (fileInfo.FullName == img.Path) { var code1 = ConvertImageToByteArray(fileInfo.FullName); IStructuralEquatable equ = code1; var code2 = img.Details.Image; if (equ.Equals(code2, EqualityComparer <object> .Default)) { img.count++; db.SaveChanges(); Images.Add(new ImageVM(fileInfo.FullName, fileInfo.Name, img.Confidence, img.ClassName)); flag = true; Progress++; dispatcher.BeginInvoke(new Action(() => { if (ClassVMs.Count() > 0) { bool flag1 = false; foreach (var imgClass in ClassVMs) { if (imgClass.Type == img.ClassName) { imgClass.Count++; flag1 = true; break; } } if (!flag1) { ClassVMs.Add(new ImageClassVM(img.ClassName, 1)); } } else { ClassVMs.Add(new ImageClassVM(img.ClassName, 1)); } })); break; } } } if (!flag) { Images.Add(new ImageVM(fileInfo.FullName, fileInfo.Name)); fileNames.Add(fileInfo.FullName); } } imageRecognizer = new ImageRecognizer(fileNames, new ForResults(this)); } }
public async void SelectDirectory() { string stream = folderDialog.OpenFolder(); if (!stream.Equals(String.Empty)) { var dir = Directory.GetFiles(stream); Images = new ObservableCollection <ImageVM>(); ClassVMs = new ObservableCollection <ImageClassVM>(); Progress = 0; foreach (var file in dir) { var fileInfo = new FileInfo(file); var imageVM = new ImageVM(fileInfo.FullName, fileInfo.Name); Images.Add(imageVM); } //ClassVMs = new ObservableCollection<ImageClassVM>(); //Progress = 0; //var dir = Directory.GetFiles(stream); //Images = new ObservableCollection<ImageVM>(); ////List<string> fileNames = new List<string>(); //HttpClient client = new HttpClient(); //foreach (var file in dir) //{ // var tmpImage = new ImageInfoGet(); // var fileInfo = new FileInfo(file); // tmpImage.Path = fileInfo.FullName; // tmpImage.Path = fileInfo.Name; // tmpImage.JpegCover = Convert.ToBase64String(ConvertImageToByteArray(fileInfo.FullName)); // var s = JsonConvert.SerializeObject(tmpImage); // var c = new StringContent(s); // c.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); // var putResult = await client.PutAsync("http://localhost:5000/api/images/", c); // string body = await putResult.Content.ReadAsStringAsync(); // ImageInfoGet info = JsonConvert.DeserializeObject<ImageInfoGet>(body); // //MessageBox.Show(body); // ImageVM imageVM; // imageVM = new ImageVM(fileInfo.FullName, fileInfo.Name, info.Confidence, info.Class); // Images.Add(imageVM); // Progress++; // await this.dispatcher.BeginInvoke(new Action(() => // { // if (ClassVMs.Count() > 0) // { // bool flag = false; // foreach (var imgClass in ClassVMs) // { // if (imgClass.Type == info.Class) // { // imgClass.Count++; // flag = true; // break; // } // } // if (!flag) // { // ClassVMs.Add(new ImageClassVM(info.Class, 1)); // } // } // else // { // ClassVMs.Add(new ImageClassVM(info.Class, 1)); // } // })); //} } //imageRecognizer = new ImageRecognizer(fileNames, new ForResults(this)); }