昨天菜鸟小白的分享——将图片中的文字提取出来,有不少小伙伴也都私信我,对我表示肯定,更是有小伙伴希望我将昨天的代码做成和之前一样的可执行文件。本来我是以为将整个程序完善了之后再打包为可执行文件的,既然已经有小伙伴私信要求了,那我就直接将这个打包了。公众号上私信回复“文字识别可执行文件”即可获取。

粉丝问题解答

有小伙伴拿了我之前图片漫画的程序,执行后出现如下报错

菜鸟小白看到后其实只能分析出这个应该是权限问题,首先我会先去查API文档中关于错误码的部分

确实就是权限问题,但是这个还是没有给出我们解决方案,这个时候就需要我们去搜索了。我当时搜到这样一个文章,文章中是这样说的,遇到这样的问题是因为我们创建的应用API没有对应的权限,需要在应用中勾选上我们需要的API接口权限,然后向百度AI开放平台客服提工单开放对应权限即可。

最终通过这样的方式我解决了这个问题,那个私信我的小伙伴,你现在是否清楚了呢。

今日编码分析

参数获取

今天我就将今天的代码改编做一下说明吧。首先我新增了参数获取函数,用于存放AK和SK信息(因为程序打包之后,这个信息就需要小伙伴申请后在程序外面保存,然后我们通过参数获取函数去读取)

def getconf():config = {}with open('config.txt', 'r') as f:lines = f.read().splitlines()for i in lines:if i:key, values = i.split(':')config[key] = valuesreturn config

文字识别和身份证识别

然后我们将昨天写的内容中参数获取这一块做了变化,将读取的参数传递给文字识别函数和身份证读取函数

#通用文字识别
def general_word(config):#通用文字识别接口urlgeneral_word_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"access_token = get_access_token(config)image_names = input("请输入需要解析的图片(多张图片用英文,隔开):").split(",")for i in image_names:# 二进制方式打开图片文件f = open(i, 'rb')img = base64.b64encode(f.read())params = {"image":img,"language_type":"CHN_ENG"}
​request_url = general_word_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}response = requests.post(request_url, data=params, headers=headers)if response:res = response.json()["words_result"]file_name = "菜鸟小白的学习分享_图片"+i.split(".")[0]+".txt"with open(file_name, 'w', encoding='utf-8') as f:for j in res:f.write(j["words"]+"\n")
​
#身份证识别
def idcard(config):idcard_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard"access_token = get_access_token(config)image_names = input("请输入需要识别的身份证图片(多张图片用英文,隔开):").split(",")for i in image_names:# 二进制方式打开图片文件f = open(i, 'rb')img = base64.b64encode(f.read())
​params = {"id_card_side":"front","image":img}request_url = idcard_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}response = requests.post(request_url, data=params, headers=headers)if response:res = response.json()["words_result"]file_name = "菜鸟小白的学习分享_图片"+i.split(".")[0]+".txt"with open(file_name, 'w', encoding='utf-8') as f:f.write("住址:"+res["住址"]["words"]+"\n")f.write("出生日期:" + res["出生"]["words"] + "\n")f.write("姓名:" + res["姓名"]["words"] + "\n")f.write("公民身份号码:" + res["公民身份号码"]["words"] + "\n")f.write("性别:" + res["性别"]["words"] + "\n")f.write("民族:" + res["民族"]["words"] + "\n")

银行卡识别

菜鸟小白还补充了一个银行卡的识别函数

#银行卡识别#银行卡识别
def bankcard(config):#银行卡识别接口urlgeneral_word_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/bankcard"access_token = get_access_token(config)image_names = input("请输入需要识别的银行卡图片(多张图片用英文,隔开):").split(",")for i in image_names:# 二进制方式打开图片文件f = open(i, 'rb')img = base64.b64encode(f.read())params = {"image":img,}request_url = general_word_url + "?access_token=" + access_tokenheaders = {'content-type': 'application/x-www-form-urlencoded'}response = requests.post(request_url, data=params, headers=headers)if response:res = response.json()["result"]file_name = "菜鸟小白的学习分享_图片"+i.split(".")[0]+".txt"with open(file_name, 'w', encoding='utf-8') as f:f.write("卡号:" + res["bank_card_number"] + "\n")f.write("有效期:" + res["valid_date"] + "\n")f.write("银行:" + res["bank_name"] + "\n")```

主函数

最后我们根据读取的参数完成主函数的编写

if __name__ == '__main__':config = getconf()if config["Action Type"] == "1":general_word(config)elif config["Action Type"] == "2":idcard(config)elif config["Action Type"] == "3":bankcard(config)

粉丝福利

菜鸟小白特意为支持我的小伙伴提供了腾讯视频会员月卡一张,关注公众号即可参与抽奖哦~
源码获取
老规矩,关注公众号“菜鸟小白的学习分享”回复“文字识别”即可获取最新源码。

好了,今天分享结束了。如果你也认同菜鸟小白的学习分享的话,那就给菜鸟小白一个关注、在看、点赞+赞赏吧,你们的支持,是我持续不断的动力。非常感谢大家的支持,我们明天再会~

往期推荐

python实现图片文字提取,准确率高达99%,强无敌!!!

通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~

想做一个天气推送程序,却被和风天气API的示例代码调试得快吐了

六十来行python代码完成一个文件分类器

PDFtoWORD_V1.1版本支持PDF文档中的文字和图片一起转化到word文档中了~

媳妇儿让我给她找一个PDF转word免费工具,找了半天我决定给她写一个出来-

关注菜鸟小白的学习分享更多精彩等你发现!

一个人的学习——孤单

一群人的学习——幸福

太好用!图片转文字没有python环境也能运行了!!!相关推荐

  1. 安装python环境与运行_专栏G|轻松学Python01:Python环境搭建与运行

    原标题:专栏G|轻松学Python01:Python环境搭建与运行 | Cora编撰 | 和[PM10分男人]一起成长 Python是一个开源且功能强大的解释型语言,应用领域比较广泛,如今越来越受重视 ...

  2. python给批量图片添加文字 脚本,Python实现图片添加文字

    在工作中有时候会给图上添加文字,常用的是PS工具,不过我想通过代码的方式来给图片添加文字. 需要使用的Python的图像库:PIL.更加详细的知识点如下: Imaga模块:用来创建,打开,保存图片文件 ...

  3. python目前的应用领域_专栏G|轻松学Python01:Python环境搭建与运行

    | Cora编撰 | 和[PM10分男人]一起成长 Python是一个开源且功能强大的解释型语言,应用领域比较广泛,如今越来越受重视.众多程序员也都开始纷纷学习Python. Cora今后会给大家详细 ...

  4. Facebook开源ptr:在Python环境中并行运行单元测试

    Facebook开源了一个名为Python Test Runner(ptr)的新项目,允许开发人员运行Python单元测试套件.ptr和现有测试运行器之间的主要区别在于ptr通过爬取存储库查找一定的P ...

  5. Python:pyinstaller库实现打包代码拷贝到另一台无python环境电脑上运行

    导入pyinstaller库 我要打包的是Auto_test代码,则在此文件路径下按住Shift键右击空白处 pyinstaller Autotest.py -p D:\PythonWorkSpace ...

  6. python中mainloop添加背景_Python实例讲解 tkinter canvas (设置背景图片及文字)

    Python实例讲解 tkinter canvas (设置背景图片及文字) 2018-09-14 Python实例讲解 -- tkinter canvas (设置背景图片及文字) 博客分类:Pytho ...

  7. Python环境搭建指南

    Python能做太多有趣使用的事了,不仅可以做现在火热的人工智能.数据分析,还可以做爬虫.Web开发.自动化运维的事情. 随着Python为我们工作与生活带来更多的便捷后,很多人开始学习Python, ...

  8. VScode的python环境配置(包括连接远程服务器)

    Vscode安装 直接进入vscode官网https://code.visualstudio.com/Download下载对应版本即可.以window系统为例,下载64bit的.zip即可. 然后解压 ...

  9. 什么是python-三分钟了解什么是Python?python环境搭建

    原标题:三分钟了解什么是Python?python环境搭建 Python , 是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,Python 已经成为继JAVA,C++之后的的第三大语言. ...

最新文章

  1. 2.OD-C++的虚函数表遍历
  2. 全系标配!Redmi K40系列锁定三星E4材质OLED屏幕
  3. speech开源框架_微软SAPI(The Microsoft Speech API):让你的软件能说会道
  4. 周鸿祎谈华为鸿蒙系统;百度回应“用搜索引擎填高考志愿”;腾讯首次全面公开开源路线图 | 极客头条...
  5. Integrity数据库简介
  6. 计算机没有显示光盘图标,电脑光驱图标不见了怎么办
  7. jboss下载和安装
  8. Curvy Little Bottles-二分和积分
  9. 软件测试人员培养计划
  10. 旧手机改造成web服务器并实现内网穿透
  11. CentOS官网下载对应版本
  12. java.sql.SQLException: The server time zone value ' й ׼ʱ ' is unrecognized or represents more tha
  13. 你知道Linux和Windows通用的复制和粘贴快捷键是什么嘛?
  14. 精通正则表达式学习记录 第二章 入门示例扩展
  15. 【HDL】Verilog HDL仿真工具iverilog(Icarus Verilog)
  16. mysql1055_MySQL5.7 group by新特性报错1055的解决办法
  17. 浪漫的星空,表白的弹窗,python制作
  18. 1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在一天之内(第二天)找出这瓶有毒的药水?
  19. vue二维码解码器(增加上传二维码之后弹窗预览)
  20. 用于游戏开发和其他目的的光线投射教程

热门文章

  1. php怎么对接wordpress,wordpress 无缝对接php页面
  2. 【群控】通过adb命令实现接打电话发短信脚本
  3. 【Python技巧】将jfif文件处理为jpg文件
  4. CapsuleRRT: Relationships-aware Regression Tracking via Capsules
  5. java求二维数组每行元素的和
  6. Dialog的详细使用
  7. java设置ContentType,设置下载文件名称
  8. 鸡尾酒分类和制作材料中英文名
  9. 构造方法可以被private修饰么?
  10. 年龄到底怎么算才对_人的年龄怎么计算