From 794bf198115d19b29d59bf3b5bf30c48f2f2f11d Mon Sep 17 00:00:00 2001 From: lzCodeGarden <3159933846@qq.com> Date: Mon, 18 Mar 2024 14:23:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E6=9B=B4=E6=94=B9=EF=BC=8C=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=B7=AF=E5=BE=84=E6=8C=87=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OcrPictureServiceImpl.java | 12 ++++++++---- .../thread/tasks/PictureImgToLocalTask.java | 18 +++++------------- .../jyjz/xiaoyao/ocr/util/ImageClassUtil.java | 13 ++++++++++++- .../src/main/resources/application-pro.yml | 1 + 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java index d1ca71ef..20cd7b4b 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java @@ -16,6 +16,7 @@ import cn.jyjz.xiaoyao.ocr.service.*; import cn.jyjz.xiaoyao.ocr.thread.TaskQueue; import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity; import cn.jyjz.xiaoyao.ocr.util.*; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -51,6 +52,8 @@ public class OcrPictureServiceImpl extends BaseServiceImpl getOcrPictureClassifyAndHash(String img) { - JSONObject jsonObjectSimi = ImageClassUtil.getClassify(img,"1","http://127.0.0.1:8000/api/classify/"); + JSONObject jsonObjectSimi = ImageClassUtil.getClassify(img,"1",classifyPath); //返回内容为零,表示成功,否则表示失败 - if (null != jsonObjectSimi && jsonObjectSimi.getString("code").equals("0")) { + if (null != jsonObjectSimi && jsonObjectSimi.getString("code").equals("0") && jsonObjectSimi.get("data")!=null&&jsonObjectSimi.getJSONArray("data").size()>0) { + JSONObject data = jsonObjectSimi.getJSONArray("data").getJSONObject(0); Map map=new HashMap(); - map.put("classId",jsonObjectSimi.getString("classId")); - map.put("hash",jsonObjectSimi.getString("hash")); + map.put("classId",data.getString("classId")); + map.put("hash",data.getString("hash")); return map; }else{ return null; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureImgToLocalTask.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureImgToLocalTask.java index 27b6c37b..f9dc5f21 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureImgToLocalTask.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/thread/tasks/PictureImgToLocalTask.java @@ -10,6 +10,7 @@ import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; import cn.jyjz.xiaoyao.ocr.thread.entity.PictureImgToLocalEntity; import cn.jyjz.xiaoyao.ocr.util.DownloadImgUtil; import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,20 +48,11 @@ public class PictureImgToLocalTask implements Runnable { if (ObjectUtil.isNotEmpty(picture)) { picture.setLocalpictrueurl(pictureImgToLocal.getLocalPath()); picture.setIsdownload(1); - //TODO 接口请求判断重复情况 - JSONObject jsonObjectSimi = ImageClassUtil.getClassify(picture.getLocalpictrueurl(),"1","http://127.0.0.1:8000/api/classify/"); - System.out.println("responseDataXs " +jsonObjectSimi.toJSONString()); - System.out.println("responseDataXs--classId = [" + jsonObjectSimi.get("classId") + "]"); - System.out.println("responseDataXs--hash = [" + jsonObjectSimi.get("hash") + "]"); - String classId = ""; - String hash=""; - //返回内容为零,表示成功,否则表示失败 - if (null != jsonObjectSimi && jsonObjectSimi.getString("code").equals("0")) { - classId = jsonObjectSimi.getString("classId"); - hash = jsonObjectSimi.getString("hash"); + Map ocrPictureClassifyAndHash = ocrPictureService.getOcrPictureClassifyAndHash(picture.getLocalpictrueurl()); + if(ocrPictureClassifyAndHash!=null){ + picture.setImgHash(ocrPictureClassifyAndHash.get("hash")); + picture.setClassificationid(ocrPictureClassifyAndHash.get("classId")); } - picture.setImgHash(hash); - picture.setClassificationid(classId); ocrPictureService.updateById(picture); } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java index 61fde268..9cc1346c 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/util/ImageClassUtil.java @@ -51,7 +51,18 @@ public class ImageClassUtil { * https://console-docs.apipost.cn/preview/7add2088a9a191d5/874020cbfba4287b * @param imgurl * @param taskId - * @return + * @return { + * "code": 0, + * "data": [ + * { + * "imgs": "/server/data/images/1754716707781476352.jpg", + * "classId": 704, + * "scores": 0.11721831560134888, + * "hash": "0000000000000000110001101111111111100110111011101111110011110000" + * } + * ], + * "taskId": "1" + * } */ public static JSONObject getClassify(String imgurl,String taskId,String serverurl){ if(StringUtils.isBlank(serverurl)){ diff --git a/runstart/src/main/resources/application-pro.yml b/runstart/src/main/resources/application-pro.yml index ff7edae4..ff93c79d 100644 --- a/runstart/src/main/resources/application-pro.yml +++ b/runstart/src/main/resources/application-pro.yml @@ -288,3 +288,4 @@ ocr: localImagePath: /server/data/images #图片本地存储地址 image: similarityPath: http://127.0.0.1:8000/api/similarity/ + classifyPath: http://127.0.0.1:8000/api/classify/