From ff37b865449043cdb5a8d0e7d56916da31b8a8f4 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期六, 22 三月 2025 16:00:14 +0800
Subject: [PATCH] 海康摄像头温度点位接口

---
 src/main/java/com/whyc/service/HikTempService.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/whyc/service/HikTempService.java b/src/main/java/com/whyc/service/HikTempService.java
index d41ac6d..4664742 100644
--- a/src/main/java/com/whyc/service/HikTempService.java
+++ b/src/main/java/com/whyc/service/HikTempService.java
@@ -5,11 +5,8 @@
 import com.whyc.dto.Point;
 import com.whyc.dto.Response;
 import com.whyc.dto.TempPoint;
-import com.whyc.hik.ChannelParamCfg;
 import com.whyc.hik.Commom.osSelect;
-import com.whyc.hik.DevManager;
 import com.whyc.hik.NetSDKDemo.HCNetSDK;
-import com.whyc.hik.SdkSysCfg;
 import org.springframework.stereotype.Service;
 
 import java.io.FileOutputStream;
@@ -88,7 +85,7 @@
         m_strJpegWithAppendData.dwJpegPicLen = 2*1024*1024;
         m_strJpegWithAppendData.dwP2PDataLen = 2*1024*1024;
         m_strJpegWithAppendData.write();
-        Map<String, TempPoint> tempPointMap;
+        Map<String, Object> tempPointMap;
         boolean resBoolean = hCNetSDK.NET_DVR_CaptureJPEGPicture_WithAppendData(lUserID, 2, m_strJpegWithAppendData);
         if (resBoolean) {
             System.out.println("鎶撳浘鎴愬姛");
@@ -105,7 +102,7 @@
             fos.write(pP2PDataBuff.getByteArray(0, m_strJpegWithAppendData.dwP2PDataLen), 0, m_strJpegWithAppendData.dwP2PDataLen);
 
             //鑾峰彇绾㈠缁撴灉骞惰В鏋�
-            tempPointMap = analyzeData(m_strJpegWithAppendData.dwP2PDataLen, cFilename, cFilename2);
+            tempPointMap = analyzeData(m_strJpegWithAppendData, cFilename, cFilename2);
         }else {
             System.out.printf("鎶撶儹鍥惧け璐�:%s",hCNetSDK.NET_DVR_GetLastError());
             return new Response().set(1,false,String.format("鎶撶儹鍥惧け璐�:%s",hCNetSDK.NET_DVR_GetLastError()));
@@ -264,14 +261,16 @@
         return true;
     }
 
-    public Map<String,TempPoint> analyzeData(int dwP2PDataLen, String cFilename, String cFilename2) throws IOException {
-        Map<String,TempPoint> tempMap = new HashMap<String, TempPoint>();
+    public Map<String,Object> analyzeData(HCNetSDK.NET_DVR_JPEGPICTURE_WITH_APPENDDATA m_strJpegWithAppendData, String cFilename, String cFilename2) throws IOException {
+        Map<String,Object> tempMap = new LinkedHashMap<>();
         // 鎵撳紑鏈湴淇濆瓨鐨勬枃浠�
         String inputFilename = cFilename;
         String outputFilename = cFilename2;
 
-        int m_AnalysisHotPic_W = 384; // 鏍规嵁鎶撶儹鍥炬帴鍙h繑鍥炵殑鍥惧儚瀹絛wJpegPicWidth杩涜璧嬪��
-        int m_AnalysisHotPic_H = 288; // 鏍规嵁鎶撶儹鍥炬帴鍙h繑鍥炵殑鍥惧儚楂榙wJpegPicHeight杩涜璧嬪��
+        //int m_AnalysisHotPic_W = 384; // 鏍规嵁鎶撶儹鍥炬帴鍙h繑鍥炵殑鍥惧儚瀹絛wJpegPicWidth杩涜璧嬪��
+        //int m_AnalysisHotPic_H = 288; // 鏍规嵁鎶撶儹鍥炬帴鍙h繑鍥炵殑鍥惧儚楂榙wJpegPicHeight杩涜璧嬪��
+        int m_AnalysisHotPic_W = m_strJpegWithAppendData.dwJpegPicWidth; // 鏍规嵁鎶撶儹鍥炬帴鍙h繑鍥炵殑鍥惧儚瀹絛wJpegPicWidth杩涜璧嬪��
+        int m_AnalysisHotPic_H = m_strJpegWithAppendData.dwJpegPicHeight; // 鏍规嵁鎶撶儹鍥炬帴鍙h繑鍥炵殑鍥惧儚楂榙wJpegPicHeight杩涜璧嬪��
         int bufSize = m_AnalysisHotPic_H * m_AnalysisHotPic_W * 4;
 
         try (RandomAccessFile datafilefp = new RandomAccessFile(inputFilename, "r");
@@ -347,6 +346,8 @@
 
             System.out.println("Min Temperature: " + minTempPoint);
             System.out.println("Max Temperature: " + maxTempPoint);
+            tempMap.put("pixelX",m_strJpegWithAppendData.dwJpegPicWidth);
+            tempMap.put("pixelY",m_strJpegWithAppendData.dwJpegPicHeight);
             tempMap.put("minTempPoint",minTempPoint);
             tempMap.put("maxTempPoint",maxTempPoint);
         }

--
Gitblit v1.9.1