介绍
如何在python项目中利用百度API对图片文字进行识别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
具体方法如下:
# !/usr/bin/env python3 #,- *安康;编码:utf-8 - * - “““ Created 提醒Tue Jun 12 09:37:38 2018 利用百度api实现图片文本识别 @author: XnCSD “““ import 水珠 得到os import 路径 import 操作系统 得到aip import  AipOcr 得到PIL import 形象 得到queue import 队列 import 线程 import datetime def convertimg (picfile, outdir): & # 39;才能& # 39;& # 39;调整图片大小,对于过大的图片进行压缩 picfile才能:,,图片路径 outdir才能:,,图片输出路径 & # 39;才能& # 39;& # 39; 时间=img 才能;Image.open (picfile) 宽度,才能,height =img.size while 才能;(width *, height 祝辞,4000000):,#,该数值压缩后的图片大约,两百多k ,,,width =, width //2 ,,,height =, height //2 时间=new_img 才能;img.resize((宽度,高度),Image.BILINEAR) new_img.save才能(path.join (outdir, os.path.basename (picfile))) def baiduOCR (ts_queue): “““才能利用百度api识别文本,并保存提取的文字 picfile才能:,,图片文件名 输出文件:,,才能输出文件 “才能”;“ while 才能;not  ts_queue.empty (): ,,,picfile =, ts_queue.get () ,,,filename =, path.basename (picfile) ,,,outfile =, & # 39; D: \ \ pythonProject \ scrapy研究\ IpProxy \ port_zidian.txt& # 39; ,,,APP_ID =, & # 39; & # 39;, #,刚才获取的,ID、下同 ,,,API_KEY =, & # 39; & # 39; ,,,SECRECT_KEY =, & # 39; & # 39; ,,,client =, AipOcr (APP_ID, API_KEY, SECRECT_KEY) ,,,小姐:=,开放(picfile, & # 39; rb # 39;) ,,,img =, i.read () ,,,print(“正在识别图片:\ t", +,文件名) ,,,message =, client.basicGeneral (img), #,通用文字识别,每天,50,000,次免费 ,,,#,message =, client.basicAccurate (img),, #,通用文字高精度识别,每天,800,次免费 ,,,#打印(“识别成功!“) ,,,i.close () ,,,试一试: ,,,,,filename1 =, filename.split(& # 39; # 39;公司)[0] ,,,,,filename1 =, & # 39; & # 39; . join (filename1) ,,,,,with 开放(输出文件,& # 39;a + & # 39;), as : ,,,,,,,for text 拷贝message.get (& # 39; words_result& # 39;): ,,,,,,,,,fo.writelines (& # 39; \ & # 39; & # 39;, +, filename1 +, & # 39; \ & # 39; & # 39;, +, & # 39;: & # 39;, +, text.get(& # 39;词# 39;),+,& # 39;,& # 39;) ,,,,,,,,,fo.writelines (& # 39; \ n # 39;) ,,,,,,,#,fo.writelines (“+”, *, 60, +, & # 39; \ n # 39;) ,,,,,,,#,fo.writelines(“识别图片:\ t", +, filename +,“\ n", *, 2) ,,,,,,,#,fo.writelines(“文本内容:\ n") ,,,,,,,#,#,输出文本内容 ,,,,,,,#,for text 拷贝message.get (& # 39; words_result& # 39;): ,,,,,,,#,,,fo.writelines (text.get(& # 39;词# 39;),+,& # 39;\ n # 39;) ,,,,,,,#,fo.writelines (& # 39; \ n # 39;, *, 2) ,,,,,os.remove(文件名) ,,,,,印刷(“识别成功!“) ,,,除了: ,,,,,印刷(& # 39;识别失败& # 39;) ,,,print(“文本导出成功!“) ,,,print () def duqu_tupian (dir): ts_queue 才能=,队列(10000) outdir 才能=dir #,才能if path.exists(输出文件): #才能,,,os.remove(输出文件) if 才能;not  path.exists (outdir): ,,,os.mkdir (outdir) 打印才能(“压缩过大的图片…“) #才能,首先对过大的图片进行压缩,以提高识别速度,将压缩的图片保存与临时文件夹中 尝试才能: ,,,for picfile 拷贝glob.glob (r" D: \ \ pythonProject \ scrapy研究\ IpProxy \端口\ *”): ,,,,,convertimg (picfile, outdir) ,,,print(“图片识别…“) null null null null null null null null null null null null null null null null null null null null null null null null null如何在python项目中利用百度API对图片文字进行识别