问题描述
我正在尝试建立一个网站,用户需要在该网站上上传带有文字的图片。现在该网站应该从图像中获取此文本。 我的问题是我是否需要保存图像才能获得此文本? 如果是,我应该在哪里保存它? 问这个问题的原因是我能够在网站上显示图像而不保存它但没有获取文本。
解决方法
如果您有能力在用户加载图像后执行触发过程,您可以使用一些 OCR 机制来提取文本,避免图像存储。
例如,Tika project 允许通过运行 .jar 从图像/文档中提取文本:
java -jar tika-app-1.25.jar -t uploadedImage.png
看起来像是一个实时项目,因为它的最新版本 (1.25) 是在一个月前部署的。它使用 Tesseract 来执行 OCR 处理,因此您也应该在您的主机上安装它。
从 1.17 版本开始支持图像识别
Apache Tika 1.17 已经发布!此版本包括新的支持 用于自动图像字幕
在其 homepage 和 javadoc 中有关 Tika 项目的更多信息。
为了避免同步行为,您还可以将图像存储在某种类型的队列中或只是您常用的数据库中,并在以后处理它们;这将允许您异步执行操作,并在有限的时间内存储图像,直到对它们应用 OCR 机制。
处理后,您还可以压缩图像并保留它们,以便对原始内容进行某种备份(以防万一出现故障)。