我正在尝试在java中构建一个示例应用程序,它将读取图像文件并输出从图像中提取的文本。我发现Tesseract项目似乎很有希望,但是,它在c ++中。为了使用它,我应该从我的Java应用程序Runtime.exec(...)
中将其作为命令行运行吗?或者有更好的解决方案,也许是JAR?此外,这只是一个示例应用程序,从可伸缩性的角度来看,它是否会作为命令行应用程序运行?
答案 0 :(得分:36)
现在,tesseract由javacv项目提供,这是一个比使用Tess4J更好的选择,因为所需要的只是为你的pom文件添加一个依赖项,然后你的平台的本机库将自动下载和链接你是由javacv tesseract版本。
我在这里创建了一个示例maven项目 - https://github.com/piersy/BasicTesseractExample
还有一个示例gradle项目 - https://github.com/piersy/BasicTesseractExampleGradle
为了在我的ubuntu机器上工作,我需要更新我的libstdc ++ 6安装
我通过运行以下操作实现了这一点,尽管安装libstdc ++ 6可能对您有用。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install libstdc++6
请注意,gradle项目不执行自动安装,但仍然比使用Tess4J简单得多
javacv项目在这里 - https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
javacv家伙的大道具,只希望我早点找到它,因为它可以让我节省一个星期让tess4j在多个平台上工作!
答案 1 :(得分:11)
我在java代码中使用了tesseract项目。您需要做的就是
请查看此http://tphangout.com/?p=18
它提供了有关如何构建java项目以读取图像并使用tesseract OCR API将其转换为文本的说明。
答案 2 :(得分:8)
你有没有尝试过tess4j:http://tess4j.sourceforge.net/。
它是Windows的tesseract的JNI包装器。
答案 3 :(得分:3)
我已经分叉了Basic Git Repo并对其进行了更新,以便它可以与Tesseract-ocr版本(4.x.x)和bytedeco javacpp-presets版本(1.4.3)兼容。
答案 4 :(得分:0)
刚试过https://github.com/piersy/BasicTesseractExample
看起来很有效,只使用一个依赖项:
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>tesseract</artifactId>
<version>3.03-rc1-0.11</version>
</dependency>
&#13;
在这里: https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
欢呼声 的Corrado
答案 5 :(得分:-1)
我使用了这个How to Test Toast Messages using Appium?
用这个
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>3.2.1</version>
</dependency>