2 Комити 228cca6881 ... 08a97c4253

Аутор SHA1 Порука Датум
  向羽 孟 08a97c4253 合并 пре 1 недеља
  向羽 孟 830c1f1f9f 20251113001 添加一个显示窗口,展示整图和单粒图还有结果信息 пре 1 недеља

+ 46 - 7
MvvmScaffoldFrame48.VIEWMODEL/ViewModel/DeepObjectDetectClass.cs

@@ -32,6 +32,34 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
                 }
             }
         }
+
+        private BitmapImage _showErrImage;
+        public BitmapImage ShowErrImage
+        {
+            get { return _showErrImage; }
+            set
+            {
+                if (_showErrImage != value)
+                {
+                    _showErrImage = value;
+                    OnPropertyChanged(nameof(ShowErrImage));
+                }
+            }
+        }
+
+        private string _showText;
+        public string ShowText
+        {
+            get { return _showText; }
+            set
+            {
+                if (_showText != value)
+                {
+                    _showText = value;
+                    OnPropertyChanged(nameof(ShowText));
+                }
+            }
+        }
         #endregion
 
         #region 界面绑定事件
@@ -45,7 +73,7 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
         #region 绑定用Action方法
         public void Test(object obj)
         {
-            List<Bitmap> bitmaps = new List<Bitmap>();
+            List<ShowImageClass> bitmaps = new List<ShowImageClass>();
             // 创建一个 Bitmap 对象
             Bitmap bitmap = new Bitmap("D:\\work\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\testfile\\testimage\\2025-08-04-13-28-45-807.jpg");
 
@@ -59,20 +87,25 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
                     continue;
                 }
                 Rectangle rectangle = new Rectangle(Convert.ToInt32(item.Box.CenterX - (item.Box.Width / 2)), Convert.ToInt32(item.Box.CenterY - (item.Box.Height / 2)), Convert.ToInt32(item.Box.Width), Convert.ToInt32(item.Box.Height));
-                bitmaps.Add(ImageAlgorithmTools.CropBitmap(bitmap, rectangle));
+                bitmaps.Add(new ShowImageClass(){
+                    ShowImage = ImageAlgorithmTools.CropBitmap(bitmap, rectangle),
+                    ShowText = $"{item.LabelName}\n坐标X:{item.Box.CenterX}\n坐标Y:{item.Box.CenterY}" 
+                });
+
             }
-            //PrintRectToBitmap(result, ref bitmap);
+            PrintRectToBitmap(result, ref bitmap);
             // 将 Bitmap 转换为 BitmapImage
-            //BitmapImage bitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(bitmap);
-            //ShowImage = bitmapImage;
+            BitmapImage bitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(bitmap);
+            ShowImage = bitmapImage;
 
             Task.Run(async () =>
             {
                 foreach (var item in bitmaps)
                 {
                     await Application.Current.Dispatcher.InvokeAsync(() => {
-                        BitmapImage bitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(item);
-                        ShowImage = bitmapImage;
+                        BitmapImage errbitmapImage = ImageAlgorithmTools.ConvertToBitmapImage(item.ShowImage);
+                        ShowErrImage = errbitmapImage;
+                        ShowText = item.ShowText;
                     });
                     Thread.Sleep(500);
                 }
@@ -115,4 +148,10 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
         }
         #endregion
     }
+
+    public class ShowImageClass
+    {
+        public Bitmap ShowImage { get; set;}
+        public string ShowText { get; set;}
+    }
 }

BIN
MvvmScaffoldFrame48/FromImage/菜单_白.png


+ 5 - 0
MvvmScaffoldFrame48/WPFPage/DeepObjectDetectPage.xaml

@@ -11,12 +11,17 @@
     <Grid>
         <Grid.ColumnDefinitions>
             <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="0.3*"/>
             <ColumnDefinition Width="100"/>
         </Grid.ColumnDefinitions>
         <Grid Grid.Column="0">
             <Image Source="{Binding ShowImage}" />
         </Grid>
         <Grid Grid.Column="1">
+            <Image Source="{Binding ShowErrImage}" Width="100" Height="100" VerticalAlignment="Top" />
+            <TextBlock Text="{Binding ShowText}" VerticalAlignment="Top" Margin="0,100,0,0" />
+        </Grid>
+        <Grid Grid.Column="2">
             <Button x:Name="RunOnceBtn" Content="RunOnce" Command="{Binding TestCommand}" Height="60" HorizontalAlignment="Center" VerticalAlignment="Top" Width="90" />
         </Grid>
     </Grid>