2017-06-23 61 views
1

我在目錄中有多個圖像並希望將其從圖像轉換爲文本文件。我必須在終端上手動執行。這是頭痛的過程。所以,我的問題是如何在包含圖像的文件夾上運行我的代碼。使用python在整個目錄上執行Tesseract OCR

這裏是終端命令將其轉換成文本:

convert captcha.png -resize 200% -type Grayscale input.tif #instead of input.tif i want same file name so, i can recognise easily 

tesseract -l eng input.tif output #output name as same as file name 
+0

使用pytesseract glob的與我 – n1c9

+0

試過,但圖像的文本結果是相當可怕的這個作品非常適合我。有什麼辦法嗎? – wizard

+0

使用'subprocess.call'在各種文件上調用shell命令,並使用glob查找文件名。 – n1c9

回答

0

更簡單的方法,沒有Python的,只是使用兩個終端的命令,一個是將所有的文件,TIFF,和一個每個TIFF文件調用的Tesseract:

  1. 轉換所有的圖像以TIFF

    對結果
  2. 呼叫的Tesseract:

    for f in *.tif;do tesseract -l eng "$f" "$(basename "$f" .tif).txt";done 
    

    (你可以跳過雙引號(")是否有在文件名中沒有空格。

置換步驟1)如果輸出名稱看起來很怪異:

for f in *.png;do convert "$f" -resize 200% -type Grayscale "$(basename "$f" .png).tif";done 
+0

文件名將如下所示:[''603351234']。tif' @xenoid – wizard

+0

@wizard不適合我。在答案中爲轉換步驟添加了另一種單行程式。 – xenoid