Пример #1
0
        void ResultEventHandler(object sender, ResultEventArgs args)
        {
            var result = args.Result;
            int index  = 0;

            lock (ImageResults) {
                foreach (var image in ImageResults)
                {
                    if (image.Path == result.Path)
                    {
                        index = ImageResults.IndexOf(image);
                        break;
                    }
                }
                Dispatcher.UIThread.InvokeAsync(() => {
                    lock (ImageResults) {
                        ImageResults[index] = new MNISTModelResultDb(result);
                        ImageClasses[result.Class].Add(new MNISTModelResultDb(result));
                        ClassesInfo[result.Class] = ClassInfoProcess(result.Class,
                                                                     ImageClasses[result.Class].Count);
                        processed++;
                        ProdProgressInfo();
                    }
                });
                Task.Run(() =>
                {
                    lock (dbContext)
                    {
                        Bitmap resImage = new Bitmap(result.Path);
                        Blob resBlob    = new Blob {
                            Bytes = ImageToByteArray(resImage)
                        };
                        dbContext.ClassifiedImages.Add(new ClassifiedImage {
                            Path          = result.Path,
                            Class         = result.Class, Confidence = result.Confidence,
                            RetrieveCount = 0, Image = resBlob
                        });
                        dbContext.Blobs.Add(resBlob);
                        dbContext.SaveChanges();
                    }
                });
            }
        }
Пример #2
0
        void ResultEventHandler(object sender, ResultEventArgs args)
        {
            var result = args.Result;
            int index  = 0;

            lock (ImageResults) {
                foreach (var image in ImageResults)
                {
                    if (image.Path == result.Path)
                    {
                        index = ImageResults.IndexOf(image);
                        break;
                    }
                }
                Dispatcher.UIThread.InvokeAsync(() => {
                    lock (ImageResults) {
                        ImageResults[index] = new MNISTModelResult(result);
                        ImageClasses[result.Class].Add(new MNISTModelResult(result));
                        ClassesInfo[result.Class] = ClassInfoProcess(result.Class,
                                                                     ImageClasses[result.Class].Count);
                    }
                });
            }
        }