2017-05-26 272 views
1

我正在開發一個接受圖像(照片)作爲用戶輸入的項目,使用命令行Tesseract-OCR在其上執行OCR,將結果存儲在文本文件中作爲「輸入.txt「,然後使用java程序對此文件執行停止詞刪除。所有這些都應該在碼頭集裝箱內完成。我已經在其中安裝了Tesseract OCR來創建碼頭圖像。我有StopWord-Removal Java代碼。無法從docker中的掛載目錄中讀取文件

在我的項目,我已經安裝主機操作系統的目錄內碼頭工人形象「/作品」的目錄,這樣我可以從用戶的主目錄中獲得「圖像(照片)」直接,

docker run --rm -v `pwd`:/work -w /work ocr 

這裏「ocr」是我的碼頭形象。我創建bash腳本,它調用Tessract-OCR,然後調用StopWordRemoval Java代碼,如

#!/bin/bash 
    tesseract sample.jpg input 
    java StopWords 

的問題是,「正方體sample.jpg輸入」的輸出保存爲「input.txt中」,但它是在java程序中不可訪問,而如果我嘗試使用相同的代碼打開來自給定目錄的其他文件,它正在工作。

回答

0

將文件「input.txt」寫入主機掛載目錄或容器文件系統?我假設「input.txt」被成功寫入。如果您可以嘗試訪問Java之外的文件「input.txt」來縮小問題,那將會很好。

+0

是的,文件被寫入掛載的主機目錄。我終於嘗試了不同的方法,找到了一種方法。我在java中執行了shell命令。在我的程序中,我使用「cat input.txt」,其輸出存儲在BufferedReader中,後來我處理了該輸出。 –