图片文字识别各种方法比较

网上有很多种图片文字识别方法,我这选了几种,做下比较

代码在这:

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的简便写法出了点问题,其他两个还是全对

第三次,我们用一个带颜色的图片试试:
在这里插入图片描述
识别效果:
在这里插入图片描述
总结:显而易见,没问题

实验效果仅供参考,另外实验中发现数字的识别率和英文差不多,所以也就没写上来。其次,有干扰线或字母扭曲的识别率很差

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