Java方式图片转文本
1.依赖
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.5.1</version>
</dependency>
2.实现
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class ImgToTxt {
public static void main(String[] args) {
//本地图片的方式
// String img = "C:\\Users\\user\\Pictures\\test\\img\\test-en.jpg";
// File imageFile = new File(img);
ITesseract tesseract = new Tesseract(); // 创建一个Tesseract实例
//下载地址 https://digi.bib.uni-mannheim.de/tesseract/
String path = "C:\\Program Files\\Tesseract-OCR\\tessdata";//安装的Tesseract-OCR路径
tesseract.setDatapath(path); // 设置Tesseract OCR引擎的数据路径
// tesseract.setLanguage("chi_sim"); // 中文
tesseract.setLanguage("eng"); // 英文
try {
//网络地址方式
BufferedImage url = getImageFromURL("https://xxx.1693388140073.png");
String result = tesseract.doOCR(url);
// String result = tesseract.doOCR(imageFile); // 本地图片方式
System.out.println(result); // 输出转换后的文本
} catch (TesseractException | IOException e) {
System.err.println(e.getMessage()); // 处理异常
}
}
//网络地址转BufferedImage
public static BufferedImage getImageFromURL(String imageUrl) throws IOException {
URL url = new URL(imageUrl);
return ImageIO.read(url);
}
}
3.模型包下载地址: