图片内容一般无法编辑,如果想要读取图片中的文本,我们需要用到OCR工具。本文将介绍如何在Java中实现OCR识别读取图片中的文字。
所需工具:
- IDEA
- Spire.OCR for Java - Java OCR组件,支持识别多种语言、字体,可读取JPG、PNG、GIF、BMP 和 TIFF 等常用图片中的文本信息。
产品包下载链接:https://www.e-iceblue.cn/Downloads/Spire-OCR-JAVA.html
或从Maven仓库导入:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.ocr</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
- 其余依赖文件。按操作系统下载对应文件后,解压缩至指定的文件路径。
Java OCR识别图片文本的实现步骤
1. 在IDEA中新建一个项目并导入Spire.OCR.jar。
2. 将刚才下载解压缩后的 "dependencies" 文件夹复制到IDEA项目目录下。
**3.**确保导入以上所需依赖后,运行以下代码实现扫描读取图片中的文本。
import com.spire.ocr.OcrScanner;
import java.io.*;
public class ReadImage {
public static void main(String[] args) throws Exception {
//指定依赖文件的路径
String dependencies = "F:\\dependencies\\";
//指定要需要扫描的图片的路径
String imageFile = "图片.png";
//指定输出文件的路径
String outputFile = "读取图片.txt";
//创建OcrScanner对象,并设置其依赖文件路径
OcrScanner scanner = new OcrScanner();
scanner.setDependencies(dependencies);
//扫描指定的图像文件
scanner.scan(imageFile);
//获取扫描的文本内容
String scannedText = scanner.getText().toString();
//创建输出文件对象
File output = new File(outputFile);
//如果输出文件已经存在,则将其删除
if (output.exists()) {
output.delete();
}
//创建BufferedWriter对象来将扫描的文本内容写入输出文件
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
writer.write(scannedText);
writer.close();
}
}
示例图片:
OCR图片扫描结果: