赞
踩
本文使用的是TesseractOCR进行识别
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>5.8.0</version>
</dependency>
下载训练集 放入到 resources下的tessdata文件夹下
import net.sourceforge.tess4j.Tesseract; import net.sourceforge.tess4j.TesseractException; import java.io.File; /** * @author Mr.NaCl * @since 2024/2/5 */ public class OCRServer { public static void main(String[] args) throws TesseractException { long start = System.currentTimeMillis(); System.out.println("开始OCR文字识图,请稍后..."); //加载要识别的图片 File image = new File("14-OCR/src/main/resources/test.jpg"); //设置配置文件夹位置、识别语言、识别模式 Tesseract tesseract = new Tesseract(); tesseract.setDatapath("14-OCR/src/main/resources/tessdata"); //设置识别语言为中文简体,(如果要设置为英文可改为"eng") tesseract.setLanguage("chi_sim"); //使用 OSD 进行自动页面分割以进行图像处理 tesseract.setPageSegMode(1); //设置引擎模式是神经网络LSTM引擎 tesseract.setOcrEngineMode(1); //开始识别整张图片中的文字 String result = tesseract.doOCR(image); //如果只想识别图片中特定部分的文字,可以像下面这样选定长宽范围识别: //String result = tesseract.doOCR(image, new Rectangle(300, 200)); long time = System.currentTimeMillis() - start; System.out.println("识别结束,耗时:" + time + " 毫秒,识别结果如下:"); System.out.println(result); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。