在我看到的所有示例中,包括我正在使用的示例,您都使用文件路径与Tesseract进行交互。
但是,由于我需要在Web服务中使用Tesseract,因此用户会将Base64Encoded流传递给Web服务方法,而不是文件路径字符串。
到目前为止,我还没有找到合适的方法让我使用ByteArrayOutputStream或File对象。
使用以下文件读取文件路径(字符串):pixRead(),但该方法不适用于File对象或ByteArrayOutputStream。
-
我还尝试了tess4j库作为替代方案,因为它使用了File对象(我在测试中尝试了每个已发布的版本),但是只有崩溃的JVM。其他人也收到了该消息(但没有解决方案),所以现在我回到常规的Tesseract。
-
任何人都可以给我一个代码示例,说明如何将文件对象或ByteArrayOutputStream传递给Tesseract,以便我可以读取图像吗?
谢谢。
答案 0 :(得分:0)
至少有两个选项可避免使用文件路径:
命令行:tesseract可执行文件接受来自sdtin的图像。您可以尝试以下操作:curl
"http://d2jaiao3zdxbzm.cloudfront.net/wp-content/uploads/figure-65.png"
| tesseract - -
。
tesseract API :您可以直接使用SetImage
将图像数据设置为tesseract引擎。我对Java不熟悉,但看起来在tess4j中也可以使用TessBaseAPISetImage。