Tesseract 文字識別
是github上的開源文字識別軟件
下載與安裝 | https://github.com/tesseract-ocr/tesseract/wiki | |
---|---|---|
下載 | https://github.com/UB-Mannheim/tesseract/wiki | |
數據文件下載 | https://github.com/tesseract-ocr/tesseract/wiki/Data-Files | |
需要添加環境變量 | D:\GitHub2019\tesseract-ocr\ | |
返回的out.txt默認字符 | utf8 | |
訓練字庫下載 | https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00 | |
命令語法 | https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.asc |
前提條件:
1 在上面的地址下載安裝tesseract
2 添加安裝路徑到windows環境變量
3 下載自己需要的語言庫(官方已經訓練好)到tessdata目錄下
簡單使用:
簡單使用:
tesseract [imagepath] [outputPath] -l [Language] [optional]
例如:tesseract C:\Users\ZR644\Desktop\tesseract-ocr\myscan.png C:\Users\ZR644\Desktop\tesseract-ocr\out -l chi_sim --psm 7
其中:
1 outputPath輸出是不需要加后綴的,只是文件名稱,這點有點奇怪
2 output格式是用utf8,有點編碼起默認是別的,造成識別失敗的假象
3 一開始識別不出不要緊,請按照圖片調整參數
4 有一個圖片文本占得很滿,查了資料說圖片要有一圈留白,僅供參考.
5 更多命令請參考本文一開始給出的命令語法頁面
c#調用
在Nuget上有封裝的tessercat,但是看了一下他的最新版本是用於tesseract-ocr 3.05.02的.NET包裝器,而目前最新的版本都4多了,所以不打算用了.
像上面一樣通過命令行的方式進行調用,然后讀取out.txt文件識別的內容就好了.
簡單例子:
做了一個不同psm參數識別同一張圖片的具體對比:
下載地址:https://github.com/tiancai4652/IdentifyImageByTesseract
使用前請先安裝好,設置好環境變量,下載語言包到其目錄下