最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python如何识别文字

    正文概述    2020-06-29   208

    Python如何识别文字

    爬虫——文字识别

    机器视觉

    从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域。

    这里我们将重点介绍机器视觉的一个分支:文字识别。介绍如何用一些Python库来识别和使用在线图片中的文字。

    我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户可以正常读取但是大多数存贮器没法读取的图片,这时验证码(CAPTCHA)就出现了。验证码读取的难易程序也大不相同。

    将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR的底层库并不多,目前很多库都是使用共同的几个底层OCR库,或者是在上面进行定制。

    OCR库概述

    在读取和处理图像、图像相差的机器学习以及创建图像等任务中,Python一直都是非常出色的语言。虽然有很多库可以进行图像处理,但是这里我们只介绍Tesseract库。

    Tesseract

    Tesseract是一个OCR库,目前由Google赞助。Tesseract是目前公认最优秀、最精确的开源OCR系统。除了极高的精确度,Tesseract也具有很高的灵活性。它可以通过训练识别出任何字体,也可以识别出任何Unicode字符。

    安装Tesseract:Windows系统

    下载可执行安装文件安装即可。

    安装pytesseract

    Tesseract是一个Python的命令行工具,不是通过import语句导入的库。安装之后,要用tesseract命令在Python的外面运行,但我们可以通过pip安装支持Python版本的Tesseract库:

    pip install pytesseract

    处理规范的文字

    你要处理的大多数文字都是比较干净、格式规范的。格式霍英东的文字通常具有以下特点:

    使用统一的标准字体(不包含手写体、草书或者十分“花哨”的字体),复印或者拍照但是字体清晰、没有多余的痕迹或者污点。

    排列整齐,没有歪歪斜斜的字。

    没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘。

    文字的一些格式问题在图片预处理时可以进行解决。例如,可以把图片转换成灰度图,调整亮度和对比度,还可以根据需要进行裁剪和旋转,在这里不作介绍。

    相关推荐:《Python视频教程》

    示例:

    英文:

    Python如何识别文字

    F:\DE209_F>tesseract english.jpg text
    Tesseract Open Source OCR Engine v4.00.00alpha with Leptonica
     
    F:\DE209_F>type text.txt
    This is some text, written in Arial, that will be read by
    Tesseract. Here are some symbols: !@#$%"&*()

    识别结果的准确率还是挺高的。

    通过Python代码实现

    英文:

    Python如何识别文字

    中文:

    Python如何识别文字

    #!/usr/bin/python3
    # -*- coding:utf-8 -*- 
    import pytesseract
    from PIL import Image
     
    # 打开图像:英文
    image = Image.open('english.jpg')
     
    # OCR识别:lang默认英文
    text = pytesseract.image_to_string(image)
     
    # 打印识别后的文本
    print(text)
     
    # 我是分割线
    print("*" * 30)
     
    # 打开图像:英文
    image = Image.open('china.png')
     
    # OCR识别:lang指定中文
    text = pytesseract.image_to_string(image, lang = 'chi_sim')
     
    # 打印识别后的文本
    print(text)

    运行结果:

    This is some text, written in Arial, that will be read by
    Tesseract. Here are some symbols: !@#$%"&*()
    ******************************
    中 华 人 民 共 和 国

    起源地下载网 » Python如何识别文字

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元