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