Java 实现OCR扫描/识别图片文字
图片内容一般无法编辑,如果想要读取图片中的文本,我们需要用到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 = "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图片扫描结果: