我正在开发一个项目,它接受来自用户的输入图像(照片),使用命令行Tesseract-OCR对其执行OCR,将结果存储在文本文件中作为“input.txt”,然后执行禁用词删除在这个文件上使用java程序。所有这些都应该在docker容器中完成。我已经在其中安装了Tesseract OCR创建了docker镜像。我有工作StopWord-Removal Java代码。
在我的项目中,我将host-os目录作为“/ work”目录安装在docker镜像中,这样我就可以直接从用户主目录中获取“图像(照片)”,
docker run --rm -v `pwd`:/work -w /work ocr
这里“ocr”是我的码头图片。我创建了bash脚本,调用Tessract-OCR然后调用StopWordRemoval java代码,如
#!/bin/bash
tesseract sample.jpg input
java StopWords
问题是,“tesseract sample.jpg输入”的输出保存为“input.txt”,但是在java程序中无法访问,而如果我尝试使用相同的代码从给定目录打开其他文件,则它正在工作。
答案 0 :(得分:0)
是文件" input.txt"写入主机挂载目录或容器文件系统?我假设" input.txt"成功写了。如果您可以尝试访问文件" input.txt"在Java之外缩小问题范围。