来源:https://www.cnblogs.com/Yesi/p/18108357

图片内容一般无法编辑,如果想要读取图片中的文本,我们需要用到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>
  • 其余依赖文件。按操作系统下载对应文件后,解压缩至指定的文件路径。

       Linux

   Windows x64

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图片扫描结果:

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐