From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/modules/test4j/Test4jController.java | 64 ++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/test4j/Test4jController.java b/src/main/java/org/springblade/modules/test4j/Test4jController.java
new file mode 100644
index 0000000..7aced56
--- /dev/null
+++ b/src/main/java/org/springblade/modules/test4j/Test4jController.java
@@ -0,0 +1,64 @@
+package org.springblade.modules.test4j;
+
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import net.sourceforge.tess4j.ITesseract;
+import net.sourceforge.tess4j.Tesseract;
+import net.sourceforge.tess4j.TesseractException;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.test4j.util.Test4jUtil;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/test4j")
+@Api(value = "图片智能识别", tags = "图片智能识别")
+public class Test4jController {
+
+ @PostMapping("/read-id")
+ public R readText(@RequestParam("file") MultipartFile file) {
+ try {
+ BufferedImage grayscaleImage = grayscale(ImageIO.read(file.getInputStream()));
+ String text = recognizeText(grayscaleImage);
+ return R.data(text);
+ } catch (IOException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ public BufferedImage grayscale(BufferedImage image) {
+ int width = image.getWidth();
+ int height = image.getHeight();
+ BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
+ Graphics g = result.getGraphics();
+ g.drawImage(image, 0, 0, null);
+ g.dispose();
+ return result;
+ }
+
+ public String recognizeText(BufferedImage image) {
+ ITesseract tesseract = new Tesseract();
+ // 设置Tesseract的路径
+ tesseract.setDatapath("F:\\test4jdata");
+ // 设置为中文简体
+ tesseract.setLanguage("chi_sim");
+ try {
+ return tesseract.doOCR(image);
+ } catch (TesseractException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+}
--
Gitblit v1.9.3