1.python 实用之python批量修改证件照文件名(百度OCR百度文字识别)
一、场景描述:
1.工地有4个工队,每个队30号人,要收集他们的1寸电子证件照片,要求是:图片文件需要用工人名字命名。
2.因为各个员工没有电脑,只有手机,用手机制作证件照后,在照片上添加了自己的名字(如图示),最后用微信发给我;
3.把图片下载在一个文件夹下,发现图片文件名格式为
”微信图片_20210508162510.jpg“;
4.把图片文件名修改为图片上P的名字;**
二、需求分析及实现原理
1.识别图片上的文字,并用该文字重命名图片文件;
①实现文字识别方案有
1)python +pytesseract+tesseract.exe
2)python +百度OCR
3)python +阿里云
等…
2.尝试过程,安装tesseract.exe, 比较复杂,主要是配置环境变量以及修改pytesseract.py 文件一定要注意路径文件要改成原始字符串,或者用转义字符;
3.最后选择实用方案二。因为百度OCR,个人用户每个月免费实用1000次;而且,实例代码非常易懂,易修改。
三、实现过程及源码
1.注册百度智能云,并登录;
2.找到百度OCR,如图示
3.进入通用场景文字识别,点立即使用,创建应用,最后创建成功会有三元组。
4.下载SDK,可点击下载。
5.用IDE打开(python ide 或者vscode),把三元组修改成你的,
6.把一张有中文的图片(文件名名命为:test.jpg)放入该代码工作的文件夹内,点调试,则可输出一个字符串(不是字典),需要把该字符串转换成字典,用result=eval(str)方法,通过读取字典内容获得识别的名字。
7.最后把所得的名字(字符串型数据),文件重命名即可:
os.rename(before_name,new_name).
8.代码如下