• python+百度 实现批量识别图片上的文字


    需求:女朋友是某公司职员,最近有了一项新的工作内容,就是接收客户传来的资料,整理到一起,但是这些资料大多是图片,一个个的打开图片,手写整理到表格实在是看的我心疼,灵机一动,帮她用python写了个小脚本

    原材料大概是这样,一个文件夹内有N多图片,对这些图片内的信息进行提取(没有图片所以在网上找了个图片做实例)

    脚本做完之后是这个样子,一个文件夹放桌面,把需要识别的所有图片放入,点击启动

    启动中,会显示进度,并且把所有识别出来的文字写入到successful中

    可以看出识别出来的效果还是不错的

    # 安装aip  pip install baidu-aip
    import os
    from aip import AipOcr
    
    print("正在努力识别中,请耐心等待".center(60))
    APP_ID = '16741980'
    API_KEY = 'xxxxxxxxxxxxxxxx'  # 需要自己去注册
    SECRET_KEY = 'xxxxxxxxxxxxxxxxxxx'
    
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)   
    
    BASE_DIR = os.getcwd()
    id_list = os.listdir(os.path.join(BASE_DIR, "要识别的图片"))
    success_path = os.path.join(BASE_DIR, "successful.txt")
    count = 0
    for id in id_list:
        img = open(os.path.join(BASE_DIR, "要识别的图片", id), 'rb').read()
        msg = client.basicGeneral(img)  # 识别图片
        str1 = ""
        for i in msg["words_result"]:
            print("{}".format(i["words"]).center(60))
            str1 += "{}
    ".format(i["words"])
        with open(success_path, 'a') as f:
            f.write("{}
    
    ".format(str1))
            print("
    ")
        print("写入中,请稍等。。。".center(60))
        count += 1
        print("
    
    ")
    print("执行结束,共完成了{}图片的识别,资料已写入到successful.txt".format(count).center(60))
    ss = input("")
    这里是代码

     原理很简单,就是用了百度智能云的图片识别接口进行识别,结果写到本地,其他厂的我也试过,个人感觉腾讯的要比百度的精确,并且得出来的结果更加好用,可以方便的写入excel,但是无奈要收费,所以最终用了百度,每天1000次免费识别,够用了

  • 相关阅读:
    Core Animation笔记(变换)
    Core Animation笔记(- Layer 基本属性)
    使用AndroidStudio编写APICloud模块需要注意的地方,解决模块未定义。
    MAC中使用APICloud同步代码错误解决办法
    【深入理解Java虚拟机 】类加载器的命名空间以及类的卸载
    【深入理解Java虚拟机 】类的加载器
    【深入理解Java虚拟机】类的初始化过程
    Netty中ByteBuf的引用计数线程安全的实现原理
    Java使用PipedStream管道流通信
    Java中的守护线程
  • 原文地址:https://www.cnblogs.com/ligiao/p/11175460.html
Copyright © 2020-2023  润新知