From 9c639f27cd9fba7af742007161e4ec4e04cda19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=BC=9F?= Date: Mon, 18 May 2026 13:54:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E8=88=AA=E7=9B=B8=E6=9C=BA=E7=9B=B8?= =?UTF-8?q?=E5=85=B3Log=E6=94=B9=E4=B8=BA=E8=8B=B1=E6=96=87=EF=BC=9B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=BA=9B=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XplorePlane/App.xaml.cs | 57 ++++++++++------------ XplorePlane/Assets/Icons/FittedCircle.png | Bin 0 -> 778 bytes XplorePlane/Assets/Icons/FittedLine.png | Bin 0 -> 583 bytes XplorePlane/Assets/Icons/Matching.png | Bin 0 -> 1171 bytes XplorePlane/Views/Main/MainWindow.xaml | 55 +++++++++++++++------ 5 files changed, 67 insertions(+), 45 deletions(-) create mode 100644 XplorePlane/Assets/Icons/FittedCircle.png create mode 100644 XplorePlane/Assets/Icons/FittedLine.png create mode 100644 XplorePlane/Assets/Icons/Matching.png diff --git a/XplorePlane/App.xaml.cs b/XplorePlane/App.xaml.cs index 696c467..e2ed480 100644 --- a/XplorePlane/App.xaml.cs +++ b/XplorePlane/App.xaml.cs @@ -166,12 +166,12 @@ namespace XplorePlane { var cameraVm = bootstrapper.Container.Resolve(); cameraVm?.Dispose(); - Log.Information("导航相机 ViewModel 已释放"); + Log.Information("Navigation camera ViewModel has been released"); } } catch (Exception ex) { - Log.Error(ex, "导航相机 ViewModel 释放失败"); + Log.Error(ex, "Navigation camera ViewModel release failed"); } // 释放导航相机服务资源 @@ -182,12 +182,12 @@ namespace XplorePlane { var cameraService = bootstrapper.Container.Resolve(); cameraService?.Dispose(); - Log.Information("导航相机服务资源已释放"); + Log.Information("Navigation camera service resources have been released"); } } catch (Exception ex) { - Log.Error(ex, "导航相机服务资源释放失败"); + Log.Error(ex, "Navigation camera service resource release failed"); } // 释放主界面探测器帧流水线资源 @@ -320,9 +320,6 @@ namespace XplorePlane // 主窗口加载完成后再连接相机,确保所有模块和原生 DLL 已完成初始化 shell.Loaded += (s, e) => { - // [DEV] 导航相机连接已屏蔽,开发阶段跳过以加快启动速度 - TryConnectCamera(); - // 初始化主界面探测器帧流水线,开始接收探测器图像事件 try { @@ -333,21 +330,22 @@ namespace XplorePlane Log.Error(ex, "初始化主界面探测器帧流水线失败"); } - // [DEV] 相机状态通知已屏蔽 - try - { - var cameraVm = Container.Resolve(); - cameraVm.OnCameraReady(); - } - catch (Exception ex) - { - Log.Error(ex, "通知相机 ViewModel 失败"); - } + // [DEV] 导航相机连接已屏蔽,开发阶段跳过以加快启动速度 + //TryConnectCamera(); + //try + //{ + // var cameraVm = Container.Resolve(); + // cameraVm.OnCameraReady(); + //} + //catch (Exception ex) + //{ + // Log.Error(ex, "Failed to notify the camera ViewModel"); + //} - if (_cameraError != null) - { - HexMessageBox.Show(_cameraError, MessageBoxButton.OK, MessageBoxImage.Error); - } + //if (_cameraError != null) + //{ + // HexMessageBox.Show(_cameraError, MessageBoxButton.OK, MessageBoxImage.Error); + //} }; return shell; @@ -364,17 +362,17 @@ namespace XplorePlane try { var info = camera.Open(); - Log.Information("导航相机已连接: {ModelName} (SN: {SerialNumber})", info.ModelName, info.SerialNumber); + Log.Information("Navigation camera connected: {ModelName} (SN: {SerialNumber})", info.ModelName, info.SerialNumber); } catch (DeviceNotFoundException) { - Log.Warning("未检测到导航相机"); - _cameraError = "未检测到导航相机,请检查连接后重启软件。"; + Log.Warning("Navigation camera not detected"); + _cameraError = "Navigation camera not detected,Please check the connection and restart the software.。"; } catch (Exception ex) { - Log.Warning(ex, "导航相机自动连接失败: {Message}", ex.Message); - _cameraError = $"导航相机连接失败: {ex.Message}"; + Log.Warning(ex, "Automatic connection of navigation camera failed: {Message}", ex.Message); + _cameraError = $"Navigation camera connection failed: {ex.Message}"; } } @@ -408,7 +406,6 @@ namespace XplorePlane containerRegistry.RegisterSingleton(); containerRegistry.Register(); - // 注册流水线服务(单例,共享 IImageProcessingService) containerRegistry.RegisterSingleton(); containerRegistry.RegisterSingleton(); @@ -477,9 +474,9 @@ namespace XplorePlane } catch (Exception ex) { - Log.Warning(ex, "读取 CameraType 配置失败,使用默认值 Hikvision"); + Log.Warning(ex, "Failed to read CameraType configuration, using default value Hikvision"); } - Log.Information("相机类型: {CameraType}", cameraType); + Log.Information("Camera Type: {CameraType}", cameraType); return new CameraFactory().CreateController(cameraType); }); containerRegistry.RegisterSingleton(); @@ -505,4 +502,4 @@ namespace XplorePlane base.ConfigureModuleCatalog(moduleCatalog); } } -} +} \ No newline at end of file diff --git a/XplorePlane/Assets/Icons/FittedCircle.png b/XplorePlane/Assets/Icons/FittedCircle.png new file mode 100644 index 0000000000000000000000000000000000000000..13ac0d8da26a5d42706c9bfaa95c787649f19131 GIT binary patch literal 778 zcmV+l1NHogP)5! z!e=lTERe$&mWZArFdB`f!{Km_tdMJ?(U>A#k)XYzTxiZSgdP&;_xoKI7wDDGk96_) zbUO8@ujxz9=ktX2tl4b-xm+$kA##w8beU87EhWGr<954kF5Ygp4J1xwz2EN>>XY4W z*Hc}x*=&}yXCfrjR;wjX%~iiAcL@MK$GQcU^#F?REl|`iGSU$d*08V@%~M|?0l-%% zcCp5+)5KRqL_|Wmgk_=fR&oSO__LpTBf29gwaotAGe9K%Zi1Ol*<>usxPpb8ujDSurono3$lf-!8m#~ZgmGSX-ti=OhMeGPAV^?)2 z5Xm*_s7vs`2LWPYjk>^PtYex7VB=e`E)J1n8iCqSGeG}&fQHWLab~>IYI;wwr2iHV zbUK~!Z3y&#pZlk($_+Yq@Vfq-{@n?+FJV;6PLTTnpK>gJgh1Ou)^a>vk;*)wBR{?3 z8MrV*4#3JhP^BkW+m2s=L&9eX%$Tsu4pM*nH^m4So(%T5&DmJ4o>z=e^O904UHH(71V2*rc4HmmSVUAh>uk`7h}x2x@vBcK71 zKq2Oi5c}goi)rjLqPYOirOW)d$a4DaTS&l0_)%Wq4P(ys(L>bUek^WTjEAg`sgZ*+ z=D-oadenq1r+K$hNS32yrl0>7ESNfQ1-b3%Z!Bh6-r`~bU#6&it2gfi3v_l1bylpO@7NX0AIvVe{O z)L{`~kqR&@v_=Z#;LLNA>_j6e79rGv0mq_g2~aX|k*;4AJm0G;Li8yFa8?UQ7THMD z1t*Zn6aqL)J}lbxAQ!;yaoe}$)h4?(fM!x5z;lY@cwmt14lyo4VCDiGu{sI?PU^rZ zJAC_4=oJK?(Rb3c1mwsBXR7hGL!o0GL3vNraVY^2+?DJiIV*v-!AZnO;5WdH1n{bz z=Vz{y9jO@D>I4Hfs literal 0 HcmV?d00001 diff --git a/XplorePlane/Assets/Icons/Matching.png b/XplorePlane/Assets/Icons/Matching.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf4ca20badbca0c2de5420349fd53ce64cc08bc GIT binary patch literal 1171 zcmV;E1Z?|>P)44K6vwapv9x^%c{5-e$Qx8zTNLQjsYRusK!FZ@1X(YU06_pbnF3_Ul&n&Kyn$`N zo4w@)viU>#{b-UQudXd8OAv!cJmmTM^N@#^-e|t@-}ePzcXzkHzrR1(+uNJb&*{&l z$j=TA4o2#HNm3t_0i7CTYisKq=ZC#sZ?s%4`|u5X>YbaZ6G07>ucLbbl!0TwLmUoI zPELBKr>8sc3#ef{yt=yD0n8Y^Bj+G9G^4+_-3h?pt_JIYP7O$)DHMV-U$wKdvy0>7 z<0JIO*VorWgdtOALtl(LTPFb0JuoWg@FaVumAc+3v=H~n^5Gw#wBydO_ zfp>7!xni8JZP-rT8Wja$-=-A+tbE2^daz7mTR)5i>4|6X2x{cbntYqg#>U3RRG;X~ z+wuwk3ZC4s=b&F%xq;D{1M=J~;WPk{$8k7x>cCgcvw@C>bAY`uvb+Mo>;%ONQa^^T znuZ2uQU|#jOtHkg`#mz%W`uFoIG9s?GdY2B%K#$sf$7T9$VAy(2L>ZMxf)Edo2uk?s__f> zEBgOI{{Z-pG;dFaf}i%ei84Ri=`en-f++OC5zsr9;(ji=YMWI*hMuXH$V>ssvRxEg z5yVu?NQS#6EGqE+L`svnMxECQAjYoBTh0K^cagGmXK2%<<6N1UyalAueQ_HCN);0c z0st8Vdt6;I26m3%zL?D5P@80*dNSi(Q)MOtP)XDT>Qhpt(5Xxuyd&hkf}A@f;1azL z_A#(0e4$QUjCz^S6SUxbC*=7GfT%&~Efx+@){2aBuUdv)w|=lvc^cfOTIb3MZeVq+ zGBb^f+g1T^iU1;%9IlWcT%j33_#Uz%^2f<>n^@Egx*$7(uEZ+b zq0SH43V^OyseHO*cg+#pJx?znx2H;dvRey4N2G7&O5~GaSD&guUF3(@`MA0FUAYzj z`|W$q67=>;r{DjGtP~HIA16OF%c2^>HOwWIss=pWZ7l%JJa7OB|9mhGr9t0pci3fDb%KXT - - - @@ -517,6 +503,45 @@ Text="坐标标定" /> + + + + + + + + + + + + + + +