From 1e019bcdabcb49500bc145ce531f28a4a835bcf6 Mon Sep 17 00:00:00 2001 From: Andy Yang <10339434@qq.com> Date: Thu, 5 Feb 2026 14:21:38 +0800 Subject: [PATCH 1/3] bug: wave3: ticket#7, reference opencv dll from relative library path. --- .../jm/controller/JmImageController.java | 17 ++------------- .../skyeye/publics/utils/ImageUtil.java | 3 ++- .../skyeye/publics/utils/OpenCVUtil.java | 21 ++++++++++++++++++- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java index 74ff9d7..66d8183 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java @@ -10,6 +10,7 @@ import com.zhangy.skyeye.jm.dto.JmJobImageDTO; import com.zhangy.skyeye.jm.entity.JmImage; import com.zhangy.skyeye.jm.service.JmImageService; import com.zhangy.skyeye.publics.consts.FileTypeEnum; +import com.zhangy.skyeye.publics.utils.OpenCVUtil; import org.opencv.core.Core; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -138,21 +139,7 @@ public class JmImageController { } static { //System.loadLibrary(Core.NATIVE_LIBRARY_NAME); - //加载 OpenCV (强制使用绝对路径加载,解决 UnsatisfiedLinkError) - String openCvDll = System.getProperty("opencv.library.path") + File.separator + Core.NATIVE_LIBRARY_NAME + ".dll"; - try { - File dllFile = new File(openCvDll); - if (dllFile.exists()) { - // 注意:必须使用 System.load() 加载绝对路径 - System.load(dllFile.getAbsolutePath()); - System.out.println("SUCCESS: OpenCV loaded from -> " + dllFile.getAbsolutePath()); - } else { - System.err.println("ERROR: OpenCV DLL not found at -> " + openCvDll); - } - } catch (Throwable e) { - System.err.println("CRITICAL: Failed to load OpenCV: " + e.getMessage()); - e.printStackTrace(); - } + OpenCVUtil.loadNativeDylib(); } /*@IgnoreAuth diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java index 7655c23..2374539 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java @@ -24,7 +24,8 @@ import java.util.List; public class ImageUtil { static { - System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + //System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + OpenCVUtil.loadNativeDylib(); } /** diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java index bf2b94c..632e9a6 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java @@ -19,7 +19,26 @@ import java.util.List; public class OpenCVUtil { static { - System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + //System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + loadNativeDylib(); + } + + public static void loadNativeDylib() { + //加载 OpenCV (强制使用绝对路径加载,解决 UnsatisfiedLinkError) + String openCvDll = System.getProperty("opencv.library.path") + File.separator + Core.NATIVE_LIBRARY_NAME + ".dll"; + try { + File dllFile = new File(openCvDll); + if (dllFile.exists()) { + // 注意:必须使用 System.load() 加载绝对路径 + System.load(dllFile.getAbsolutePath()); + System.out.println("SUCCESS: OpenCV loaded from -> " + dllFile.getAbsolutePath()); + } else { + System.err.println("ERROR: OpenCV DLL not found at -> " + openCvDll); + } + } catch (Throwable e) { + System.err.println("CRITICAL: Failed to load OpenCV: " + e.getMessage()); + e.printStackTrace(); + } } /** From 246711a4274e663a2420a3d8018ac65aec7bfc4f Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Thu, 5 Feb 2026 15:20:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9message=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=B7=A1=E8=88=AA=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E4=BA=AE=E5=BA=A6=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Skyeye-sys-ui/src/store/modules/dict.js | 6 +++- .../Skyeye-sys-ui/src/styles/element.scss | 1 + .../home/components/task-manage/index.vue | 28 ++++++++++------- .../home/components/twin-situation/index.js | 10 ++++-- .../home/components/twin-situation/index.scss | 31 +++++++++++++++++++ .../home/components/twin-situation/index.vue | 23 ++++++++++++++ 6 files changed, 84 insertions(+), 15 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/store/modules/dict.js b/frontend/Skyeye-sys-ui/src/store/modules/dict.js index 3db2b31..a7c1d31 100644 --- a/frontend/Skyeye-sys-ui/src/store/modules/dict.js +++ b/frontend/Skyeye-sys-ui/src/store/modules/dict.js @@ -22,10 +22,14 @@ const state = { label: '快速模式', value: '1' }, + { + label: '巡航模式', + value: '2' + }, { label: '创建航线', value: '3' - } + }, ], polarization: {}, polarizationOptions: {}, diff --git a/frontend/Skyeye-sys-ui/src/styles/element.scss b/frontend/Skyeye-sys-ui/src/styles/element.scss index 1e3259a..11e36cd 100644 --- a/frontend/Skyeye-sys-ui/src/styles/element.scss +++ b/frontend/Skyeye-sys-ui/src/styles/element.scss @@ -760,6 +760,7 @@ ------------------------------------- */ .el-message { border: none; + top: 60px !important; // &[class*='success'] { // background-color: rgba(mix(#000, $--color-green, 30%), 0.7); diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue index 2b69f9e..b4ded30 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue +++ b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue @@ -303,7 +303,11 @@ --> - +
--> - + @@ -481,14 +489,11 @@ > - - - - - - - - + - - + +
+
+
亮度:
+ + +
+ +
Date: Thu, 5 Feb 2026 15:35:27 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/components/task-manage/index.js | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js index 306ed2a..6e3eb9b 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js @@ -1296,7 +1296,7 @@ export default { name: params.name, mode: params.mode, pointList: pointList, - startAltitude: params.startAltitude, + startAltitude: params.mode === '2' ? 0 : params.startAltitude, imageLight: parseFloat(params.imageLight), headingDiff: parseFloat(params.headingDiff), imageBit: parseFloat(params.imageBit), @@ -1305,20 +1305,16 @@ export default { uavList: [ { uavId: params.uav, - // startLon: params.startPoint.lon, - // startLat: params.startPoint.lat, - // endLon: params.endPoint.lon, - // endLat: params.endPoint.lat, - speed: params.initSpeed, - height: params.flyHeight, + speed: params.mode === '2' ? 0 : params.initSpeed, + height: params.mode === '2' ? 0 : params.flyHeight, resolution: params.ratio, - startAltitude: params.startAltitude, + startAltitude: params.mode === '2' ? 0 : params.startAltitude, payloadList: [{ payloadId: params.loader, resolution: params.ratio, width: params.width, length: this.form.imageMode === '4' ? this.ratioMap.gmti.length : this.ratioMap[params.ratio].length, - theta: params.theta, + theta: params.mode === '2' ? 0 : params.theta, reserved: this.form.imageMode === '4' ? this.ratioMap.gmti.reserved : this.ratioMap[params.ratio].reserved, direction: params.direction, polarization: params.polarization, @@ -2001,7 +1997,7 @@ export default { name: params.name, mode: params.mode, pointList: pointList, - startAltitude: params.startAltitude, + startAltitude: params.mode === '2' ? 0 : params.startAltitude, imageLight: parseFloat(params.imageLight), headingDiff: parseFloat(params.headingDiff), imageBit: parseFloat(params.imageBit), @@ -2010,16 +2006,16 @@ export default { uavList: [ { uavId: params.uav, - speed: params.initSpeed, - height: params.flyHeight, + speed: params.mode === '2' ? 0 : params.initSpeed, + height: params.mode === '2' ? 0 : params.flyHeight, resolution: params.ratio, - startAltitude: params.startAltitude, + startAltitude: params.mode === '2' ? 0 : params.startAltitude, payloadList: [{ payloadId: params.loader, resolution: params.ratio, width: params.width, length: this.form.imageMode === '4' ? this.ratioMap.gmti.length : this.ratioMap[params.ratio].length, - theta: params.theta, + theta: params.mode === '2' ? 0 : params.theta, reserved: this.form.imageMode === '4' ? this.ratioMap.gmti.reserved : this.ratioMap[params.ratio].reserved, direction: params.direction, polarization: params.polarization,