了解如何使用tesseract和ocrfeeder正確識別圖像中的文本。

你們中的許多人必須已經知道光學字符識別(OCR)程序,如果是這樣,您會遇到一些無法識別典型的西班牙語字符的字符,例如eñe,tílde等(ñ,ó,ü)。

現在感謝 正方體 和包裝 正方體-OCR-溫泉 我們將能夠識別這些字符,並且將看到如何處理顏色或像素級別不正確的某些圖像。

首先,我們必須安裝以下程序:

Tesseract-ocr
正方體-OCR-溫泉
進紙器

我建議您在Debian中安裝它們而不安裝推薦的軟件:

sudo apt-get --no-install-recommends install ocrfeeder tesseract-ocr-spa tesseract-ocr

如果我們的圖像(掃描的文檔)中的字母清晰易讀,則大約有90%的情況下都可以識別文本,表格將無法識別,如果圖像有2列,它將自動首先識別出一列,然後再識別另一個保持文本的順序。

有兩種識別文本的方法,一種是通過終端中的命令行或通過ocrfeeder來識別,後者將需要更多的處理時間:

命令行方法:

tesseract "/entrada/fichero.jpg" "/salida/fichero.txt" -l spa -psm 3

為了轉換多個圖像,我們將使用以下命令:

cd /carpeta/imagenes
find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done

為了將結果文本文件連接到所述文件夾中,我們將使用以下命令將段落正確連接。

cd /carpeta/imagenes
find ./ -name "*.txt" | sort | while read file; do cat "$file" | sed 's|^$|##|g' | tr '\n' " " | tr '##' "\n" >> Texto-unido.txt; done

ocrfeeder的方法:
1-我們打開ocrfeeder程序。
2-我們通過單擊工具-OCR引擎來編輯引擎,選擇esseract引擎,然後單擊編輯,然後在其中顯示引擎參數的地方,我們更改該腳本的腳本:

$IMAGE $FILE -l spa -psm 3 > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

3-我們導入圖像或包含多個圖像的文件夾。
4-我們單擊“識別文檔”,一旦文檔被識別,您就可以手動選擇圖像或文本的哪一部分。
5-導出文檔之前,我們單擊“編輯”“編輯”頁面,然後選擇所需的頁面,最常見的是字母(字母)。
6-要導出文檔,請單擊文件-導出,我們選擇所需的輸出格式,如果文檔中包含圖像,我建議您使用odt或html格式,如果僅是文本,則最好使用純文本(txt)格式。

到這里為止還沒有結束,因為有很多影印件的質量不高,為了修復這些影印件,我們將使用帶膠印和壓紋濾鏡(此過程可能很慢):
1-我們打開帶有圖像的圖像。
2-單擊“濾鏡-變形-壓花”,選擇“凹凸貼圖”框,將方位角級別調整為大約162,25,將高程調整為88,73,將深度調整為6或3。以100%的質量保存圖像如果是jpg,則導出-name.jpg。

(可選)您可以通過單擊顏色-級別-自動來調整白色級別。