摘要: 最近闲来无事, 使用Python写了个文字识别的程序, 在这里分享给大家
1. 准备工作
申请百度开发者平台, 获取图片文字识别, 申请地址:
https://console.bce.baidu.com/ai/?_=1553338619822&fromai=1#/ai/ocr/overview/index
申请效果如下所述:
2. 配置依赖库
pip install baidu-aip
3. 导入依赖库
from aip import AipOcr
import os,sys
import PIL.Image
4. 设置ID API Key Secret Key
直接在百度云平台获取就可以, 以下为无效
API_ID = '1553XX'
API_KEY = 'LFIDSL3XXXXXXXXXXXFDSZXS'
SECRET_KEY = 'LFDSLFJIEJLXXXXXXXXXXJFKDL'
5. 打开图片
(1)判断打开文件是否为图片文件
def is_picture(filename):
cExt = ['.bmp','.png','jpg']
num = 0
for i in cExt:
if i in filename:
break
else:
num = num + 1
if num == 3:
return 0
else:
return 1
(2)由于目前该接口只适用于.png文件, 因此需要将其他类型的文件转为.png文件再读取
def get_image_from_file(filename):
is_pic = is_picture(filename)
if is_pic == 1:
try:
png_filename = filename[:-4]+".png"
PIL.Image.open(filename).save(png_filename)
with open(png_filename,'rb') as fp:
content = fp.read()
#将转化后的Png删除
os.remove(png_filename)
return content
except:
return 'error'
#tkinter.messagebox.showinfo('提示','图片已被其它工具打开,请关闭后重试!')
else:
return ''
6. 进行图片识别
(1)获取aip, 用来与百度云数据传输
def get_apiOcr():
aipOcr = AipOcr(API_ID,API_KEY,SECRET_KEY)
return aipOcr
(2)进行识别
#获取图片内容
contents = get_image_from_file(filename)
#获取aip
api = get_apiOcr()
def get_words(AipOcr,content):
#自动识别文字方向, 文字识别设置中\英文同时识别
options = { 'detect_direction':'true', 'language_type':'CHN_ENG'}
#获取识别内容
result = AipOcr.webImage(content,options)
#print (result)
words = []
#提取内容
for i in result['words_result']:
#print (i['words'])
words.append(i['words'])
print(words)
7.识别测试
(1)输入图片
(2)识别结果
逆向工程在口腔医学上的应用具有高度的学科交叉性,是机械、计算机生物材料学、医学相融合的产物,
其应用领域和深度亦随着各学科的发展与交而飞速的发展起来。本文围绕逆向工程及其在口腔医学上的
扩展应用,针对网格模型处理技术进行了以下几个方面的研究与应用(1)建立了图像滤波和网格光顺之间
相应的桥梁,并对 Laplacian光顺Taub光顺、 debrun光顺、双边滤波光顺进行具体研究和对比分析,
得到了不同的光顺效果,从而对比显示出各种光顺算法的特性。
8.以下为借用python开发的GUI界面
关注下面的公众号, 回复[文字识别]获取下载链接!
下载链接:https://fgk.pw/i/asJCUCX0237