使用java中的Tesseract

我正在尝试在java中构建一个示例应用程序,它将读取图像文件并输出从图像中提取的文本。 我发现Tesseract项目看起来很有希望,但它在c ++中。 为了使用它,我应该从我的Java应用程序Runtime.exec(...)中将其作为命令行运行吗? 或者有更好的解决方案,也许是JAR? 此外,这只是一个示例应用程序,从可伸缩性的角度来看,作为命令行应用程序运行它是一个问题吗?

现在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在多个平台上工作!

我在java代码中使用了tesseract项目。 你需要做的就是

  1. 获取tesseract的tess4j jni包装器。
  2. 在你的ide中打开tess4j proj并将源包和库添加到你自己的
    项目。
  3. 编写代码,为tesseract类创建一个实例,然后使用它
    执行OCR。

请查看http://tphangout.com/?p=18

它提供了有关如何构建java项目以读取图像并使用tesseract OCR API将其转换为文本的说明。

你试过tess4j: http ://tess4j.sourceforge.net/。

它是Windows的tesseract的JNI包装器。

刚试过https://github.com/piersy/BasicTesseractExample

这是一个截图

看起来它的工作原理,只使用一个依赖:

  org.bytedeco.javacpp-presets tesseract 3.03-rc1-0.11  

我用这个如何使用Appium测试Toast消息?

有了这个

   net.sourceforge.tess4j tess4j 3.2.1