private void RealTimeAddPrediction(Prediction prediction)
        {
            lock (Recognitions)
            {
                var l = (from pic in Recognitions
                         where pic.Title == prediction.Title
                         select pic).FirstOrDefault();

                var q = (from pic in Photos
                         where pic.Path == prediction.Path
                         select pic).FirstOrDefault();
                App.Current.Dispatcher.Invoke(() =>
                {
                    if (l == null) //first time
                    {
                        Recognitions.Add(new Recognition
                        {
                            Title  = prediction.Title,
                            Count  = 1,
                            Photos = new ObservableCollection <Photo> {
                                q
                            }
                        });
                    }
                    else
                    {
                        int index = Recognitions.IndexOf(l);
                        Recognitions[index].Count++;
                        Recognitions[index].Photos.Add(q);
                    }
                    ImagesCounter++;
                });
            }
        }
예제 #2
0
        private static void Add(ImageRecognition.Prediction prediction)
        {
            Server.Controllers.RecognitionController.RealTimeAdd(prediction);

            lock (Recognitions)
            {
                var l = (from pic in Recognitions
                         where pic.Title == prediction.Label
                         select pic).FirstOrDefault();

                var q = (from pic in Photos
                         where prediction.Path == pic.Path
                         select pic).FirstOrDefault();

                if (l == null) //first time
                {
                    Recognitions.Add(new Recognition
                    {
                        Title  = prediction.Label,
                        Count  = 1,
                        Photos = new ObservableCollection <Photo> {
                            q
                        }
                    });
                }
                else
                {
                    int index = Recognitions.IndexOf(l);
                    Recognitions[index].Count++;
                    Recognitions[index].Photos.Add(q);
                }
            }
        }
//===========================================================================================//

        private void AddRecognitionsToView(List <Recognition> recognitions)
        {
            foreach (var r in recognitions)
            {
                ObservableCollection <Photo> a = new ObservableCollection <Photo>();
                foreach (var photo in r.Photos)
                {
                    a.Add(new Photo
                    {
                        IsSavedInDataBase = true,
                        Path   = photo.Path,
                        Pixels = Convert.FromBase64String(photo.PixelsString),
                        Image  = ByteToImage(Convert.FromBase64String(photo.PixelsString))
                    });
                }
                Recognitions.Add(new Recognition
                {
                    Count  = r.Photos.Count,
                    Title  = r.Title,
                    Photos = a,
                });
            }
        }