[英]Image cleaning before OCR application
我在過去的幾個小時里一直在試驗PyTesser,這是一個非常好的工具。 我注意到有關PyTesser准確性的一些事情:
顯然Pytesser並不關心字體尺寸或圖像拉伸。 雖然有很多關於圖像處理和OCR的理論需要閱讀,但是在應用PyTesser或其他庫之前,是否有任何標准的圖像清理程序(除了擦除圖標和圖像),而不管語言是什么?
...........
哇,這篇文章現在已經很老了。 在過去的幾天里,我再次開始研究OCR。 這次我扔掉了PyTesser並使用了Tesseract引擎和ImageMagik。 直截了當地說,這就是我發現的:
1) You can increase the resolution with ImageMagic(There are a bunch of simple shell commands you can use)
2) After increasing the resolution, the accuracy went up by 80-90%.
因此,Tesseract Engine毫無疑問是市場上最好的開源OCR引擎。 此處不需要事先清潔圖像。 需要注意的是,它不適用於包含大量嵌入圖像的文件,而且我沒有找到一種方法來訓練Tesseract忽略它們。 此外,圖像中的文本布局和格式也有很大的不同。 它只適用於帶有文本的圖像。 希望這有幫助。
不確定你的意圖是否用於商業用途,但是如果你在一堆像圖像上執行OCR,這會產生奇跡。
http://www.fmwconcepts.com/imagemagick/textcleaner/index.php
原版的
在使用給定參數進行預處理之后。
事實證明, tesseract
wiki有一篇文章以我能想象的最佳方式回答這個問題:
關於“提高[OCR]輸出質量”的插圖指南。
問題“提高tesseract OCR准確度的圖像處理”也可能是有意義的。
(初步答案,僅供記錄)
我沒有使用PyTesser
,但我已經用tesseract
做了一些實驗(版本: 3.02.02
)。
如果在彩色圖像上調用tesseract,則它首先應用全局Otsu方法對其進行二值化,然后在二進制(黑白)圖像上運行實際字符識別。
圖片來自: http : //scikit-image.org/docs/dev/auto_examples/plot_local_otsu.html
可以看出,“全球大津”可能並不總能產生理想的結果。
為了更好地理解tesseract'看到'是將Otsu的方法應用於您的圖像,然后查看生成的圖像。
總之:提高識別率的最直接的方法是自己對圖像進行二值化(最有可能通過反復試驗找到好的閾值) ,然后將這些二值化圖像傳遞給tesseract
。
有人非常友好地發布了tesseract的api文檔 ,因此可以驗證以前有關處理管道的語句: ProcessPage - > GetThresholdedImage - > ThresholdToPix - > OtsuThresholdRectToPix
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.