gpt4 book ai didi

java - 使用 OCR 从图像文件中读取文本的 API

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:03:09 24 4
gpt4 key购买 nike

我正在寻找 Java 中 OCR(光学字符识别)的示例代码或 API 名称,使用它我可以从图像文件中提取所有存在的文本。无需将其与我使用以下代码所做的任何图像进行比较。

public class OCRTest {

static String STR = "";

public static void main(String[] args) {
OCR l = new OCR(0.70f);
l.loadFontsDirectory(OCRTest.class, new File("fonts"));
l.loadFont(OCRTest.class, new File("fonts", "font_1"));
ImageBinaryGrey i = new ImageBinaryGrey(Capture.load(OCRTest.class, "full.png"));
STR = l.recognize(i, 1285, 654, 1343, 677, "font_1");
System.out.println(STR);
}
}

最佳答案

你可以试试Tess4jJavaCPP Presets for Tesseract .我更喜欢后来,因为它比前者更容易。将依赖项添加到您的 pom `

        <dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>tesseract-platform</artifactId>
<version>3.04.01-1.3</version>
</dependency>

`而且编码简单

import org.bytedeco.javacpp.*;
import static org.bytedeco.javacpp.lept.*;
import static org.bytedeco.javacpp.tesseract.*;

public class BasicExample {
public static void main(String[] args) {
BytePointer outText;

TessBaseAPI api = new TessBaseAPI();
// Initialize tesseract-ocr with English, without specifying tessdata path
if (api.Init(null, "eng") != 0) {
System.err.println("Could not initialize tesseract.");
System.exit(1);
}

// Open input image with leptonica library
PIX image = pixRead(args.length > 0 ? args[0] : "/usr/src/tesseract/testing/phototest.tif");
api.SetImage(image);
// Get OCR result
outText = api.GetUTF8Text();
System.out.println("OCR output:\n" + outText.getString());

// Destroy used object and release memory
api.End();
outText.deallocate();
pixDestroy(image);
}
}

Tess4j 并不复杂,因为它需要安装特定的 VC++ 可再发行组件包。

关于java - 使用 OCR 从图像文件中读取文本的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com