图片处理 - python PIL 图片放大的问题

 无石笑_987 发布于 2022-10-26 14:34

尝试用pytesseract来识别一些图片:

原始图片尺寸较小,用pytesseract无法识别,开始尝试用 Mac 自带的预览工具来放大尺寸 ,发现可以正常识别了,然后尝试用 PIL 来放大图片,代码如下:

images.resize((1985, 336),Image.ANTIALIAS).save('/images', quality=95,dpi=(72, 72))

问题是,通过 PIL 放大的图片不能被pytesseract 正常识别,我对比了两张图片的信息,如下图:

发现除了图片尺寸不同外,其他信息都是相同的,但是就是无法被pytesseract正常识别,所以求教如何用 PIL 放大出可以正常被pytesseract识别的图片(其他工具也可以)

1 个回答
  • 你可以尝试改变tesseract的-psm参数:

    image = Image.open('ocr.png')
    image.show()
    for p in range(4,14):
        print(p, '-', pytesseract.image_to_string(image, config="-psm {}".format(p)))

    输出如下:

    4 - 3 4'1 4'1 I] I]
    5 - D
    D
    d.
    d.
    _...I._
    6 - 3 4'1 4'1 I] I]
    7 - 3 4'1 4'1 I] I]
    8 - 34400
    9 - 34400
    10 - W
    11 - 3
    
    £1
    
    I1
    
    I]
    
    I]
    12 - 
    13 - 34400

    如果图片只有数字你也能尝试用tessedit_char_whitelist:

    pytesseract.image_to_string(image, config="-psm 8 -c tessedit_char_whitelist=1234567890")
    2022-10-27 00:55 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有