从java使用Tesseract
我正在尝试用java构建一个示例应用程序,该应用程序将读取图像文件并仅输出从图像中提取的文本。我发现Tesseract项目看起来很有前途,但是,它是在c ++中。为了使用它,我应该简单地从我的java应用程序中将其作为命令行运行吗?或者有没有更好的解决方案,也许是JAR?此外,这只是一个示例应用,从可伸缩性的角度来看,将其作为命令行应用运行是否是一个问题?Runtime.exec(...)
我正在尝试用java构建一个示例应用程序,该应用程序将读取图像文件并仅输出从图像中提取的文本。我发现Tesseract项目看起来很有前途,但是,它是在c ++中。为了使用它,我应该简单地从我的java应用程序中将其作为命令行运行吗?或者有没有更好的解决方案,也许是JAR?此外,这只是一个示例应用,从可伸缩性的角度来看,将其作为命令行应用运行是否是一个问题?Runtime.exec(...)
现在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项目。您需要做的就是
请看一下这个 http://tphangout.com/?p=18
它提供了有关如何构建Java项目以读取图像并使用tesseract OCR API将其转换为文本的说明。