zoukankan      html  css  js  c++  java
  • 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次免费识别,够用了

  • 相关阅读:
    xpath json操作符说明
    搜索引擎下拉词接口
    利用jsonp调用外部ip地址池
    excel支持正则表达式提取字符函数(支持RegExp捕获分组)
    【竞价网站绝技】根据访客ip,页面显示访客所属城市的html代码(借用YY IP地址库)
    关于百度信息流“霸屏”代码(着落页点击浏览器“回退”按钮还是在官网)的实现。
    关于免费虚拟主机sanfengyun
    typescript interface接口
    typescript 声明和解构
    typescript 基础数据类型
  • 原文地址:https://www.cnblogs.com/ligiao/p/11175460.html
Copyright © 2011-2022 走看看