Procházet zdrojové kódy

20251106001 CPU目标检测,结果展示到界面

向羽 孟 před 2 týdny
rodič
revize
6da857187d
18 změnil soubory, kde provedl 29 přidání a 12 odebrání
  1. 1 0
      MvvmScaffoldFrame48.VIEWMODEL/MvvmScaffoldFrame48.ViewModel.csproj
  2. 21 4
      MvvmScaffoldFrame48.VIEWMODEL/ViewModel/DeepObjectDetectClass.cs
  3. 7 8
      MvvmScaffoldFrame48/MvvmScaffoldFrame48.csproj
  4. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-00-655.jpg
  5. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-00-920.jpg
  6. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-01-169.jpg
  7. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-01-436.jpg
  8. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-43-994.jpg
  9. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-44-259.jpg
  10. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-44-495.jpg
  11. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-44-754.jpg
  12. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-45-807.jpg
  13. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-47-882.jpg
  14. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-50-415.jpg
  15. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-29-22-652.jpg
  16. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-29-26-523.jpg
  17. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-30-06-446.jpg
  18. binární
      MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-30-06-693.jpg

+ 1 - 0
MvvmScaffoldFrame48.VIEWMODEL/MvvmScaffoldFrame48.ViewModel.csproj

@@ -51,6 +51,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="MVDCNNDetect.Net, Version=4.2.1.4, Culture=neutral, PublicKeyToken=f4e2bfa0ac20f5c4" />
+    <Reference Include="MVDShape.Net, Version=4.2.1.4, Culture=neutral, PublicKeyToken=a59215ef735587a6" />
     <Reference Include="PresentationCore" />
     <Reference Include="System" />
     <Reference Include="System.Core" />

+ 21 - 4
MvvmScaffoldFrame48.VIEWMODEL/ViewModel/DeepObjectDetectClass.cs

@@ -9,6 +9,7 @@ using System.Threading.Tasks;
 using System.Windows.Input;
 using System.Windows.Media.Imaging;
 using System.Xml.Linq;
+using VisionDesigner.MVDCNNDetect;
 
 namespace MvvmScaffoldFrame48.ViewModel.ViewModel
 {
@@ -42,12 +43,12 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
         public void Test(object obj)
         {
             // 创建一个 Bitmap 对象
-            Bitmap bitmap = new Bitmap("D:\\work\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\testfile\\testimage\\2025-08-04-13-14-00-655.jpg");
+            Bitmap bitmap = new Bitmap("D:\\work\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\testfile\\testimage\\2025-08-04-13-28-45-807.jpg");
 
             cPUDeepObject.LoadImage(bitmap);
             cPUDeepObject.LoadDeepModel("D:\\work\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\MvvmScaffoldFrame48\\testfile\\model\\Detect_20250818T1328175385.bin");
             var result = cPUDeepObject.RunDetect();
-
+            PrintRectToBitmap(result, ref bitmap);
             // 将 Bitmap 转换为 BitmapImage
             BitmapImage bitmapImage = ConvertToBitmapImage(bitmap);
 
@@ -84,13 +85,29 @@ namespace MvvmScaffoldFrame48.ViewModel.ViewModel
                 var bitmapImage = new BitmapImage();
                 bitmapImage.BeginInit();
                 bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
-                bitmapImage.DecodePixelWidth = 1200; // 设置目标分辨率宽度
-                bitmapImage.DecodePixelHeight = 600; // 保持宽高比
+                bitmapImage.DecodePixelWidth = 1440; // 设置目标分辨率宽度
+                bitmapImage.DecodePixelHeight = 1080; // 保持宽高比
                 bitmapImage.StreamSource = memory;
                 bitmapImage.EndInit();
                 return bitmapImage;
             }
         }
+
+        public void PrintRectToBitmap(List<CNNDetectPredInfo> RectData , ref Bitmap bitmap)
+        {
+            using (Graphics g = Graphics.FromImage(bitmap))
+            {
+                var redPen = new Pen(Color.Red, 2);
+                var GreenPen = new Pen(Color.SeaGreen, 2);
+
+                foreach (var item in RectData)
+                {
+                    int roix = Convert.ToInt32(item.Box.CenterX - (item.Box.Width/2));
+                    int roiy =  Convert.ToInt32(item.Box.CenterY - (item.Box.Height/2));
+                    g.DrawRectangle(item.LabelName== "A坏药"?redPen:GreenPen, new Rectangle(roix, roiy, (int)item.Box.Width, (int)item.Box.Height));
+                }
+            }
+        }
         #endregion
     }
 }

+ 7 - 8
MvvmScaffoldFrame48/MvvmScaffoldFrame48.csproj

@@ -155,15 +155,14 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <Resource Include="testfile\testimage\2025-08-04-13-14-00-655.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-14-00-920.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-14-01-169.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-14-01-436.jpg" />
     <Resource Include="testfile\testimage\2025-08-04-13-28-43-744.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-28-43-994.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-28-44-259.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-28-44-495.jpg" />
-    <Resource Include="testfile\testimage\2025-08-04-13-28-44-754.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-28-45-807.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-28-47-882.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-28-50-415.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-29-22-652.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-29-26-523.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-30-06-446.jpg" />
+    <Resource Include="testfile\testimage\2025-08-04-13-30-06-693.jpg" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-00-655.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-00-920.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-01-169.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-14-01-436.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-43-994.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-44-259.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-44-495.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-44-754.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-45-807.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-47-882.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-28-50-415.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-29-22-652.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-29-26-523.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-30-06-446.jpg


binární
MvvmScaffoldFrame48/testfile/testimage/2025-08-04-13-30-06-693.jpg