圖片文字識別各種方法比較

網上有很多種圖片文字識別方法,我這選了幾種,做下比較

代碼在這:

import tesserocr
from PIL import Image
import pytesseract

def a():
    #這是一種辦法,使用tesserocr
    image=Image.open('xxx.jpg')
    result=tesserocr.image_to_text(image)
    print('使用tesserocr:',result)
    print('*'*50)

def b():
    # tesserocr更簡便的方法
    print('使用tesserocr簡便方法:',tesserocr.file_to_text('xxx.jpg'))
    print('*'*50)

def c():
    # 這是另一種辦法,pytesseract
    image=Image.open('xxx.jpg')
    # result = pytesseract.image_to_string(image ,lang='chi_sim')
    result = pytesseract.image_to_string(image)
    print('使用pytesseract:',result)
    print('*' * 50)

a()
b()
c()

首先,漢字的識別,網上最多的是用pytesseract來識別

def c():
    # 這是另一種辦法,pytesseract
    image=Image.open('xxx.jpg')
    result = pytesseract.image_to_string(image ,lang='chi_sim')
    print(result)
    print('*' * 50)
c()

第一次,我們選擇的是黑白比較分明的圖片
在這裏插入圖片描述
識別效果:
在這裏插入圖片描述
總結:總體來說還行

第二次,使用黑白不那麼分明的圖片:
在這裏插入圖片描述
識別效果:
在這裏插入圖片描述
總結,似乎跟第一次差不太多

第三次,用黑白分明更弱些的圖片:
在這裏插入圖片描述
識別效果:
在這裏插入圖片描述
總結:可以說是一塌糊塗了

然後,咱們試下識別英文,三種方法都可以,正好做下比較
第一次,使用顏色比較重的圖片:
在這裏插入圖片描述
識別效果:
在這裏插入圖片描述
總結:可以看到,全對,由此可見,這些方法對英文的支持真不錯

第二次,用顏色稍淡些的圖片:
在這裏插入圖片描述
識別效果:
在這裏插入圖片描述
總結:tesserocr的簡便寫法出了點問題,其他兩個還是全對

第三次,我們用一個帶顏色的圖片試試:
在這裏插入圖片描述
識別效果:
在這裏插入圖片描述
總結:顯而易見,沒問題

實驗效果僅供參考,另外實驗中發現數字的識別率和英文差不多,所以也就沒寫上來。其次,有干擾線或字母扭曲的識別率很差

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章