这个问题是研发的小伙子提出的。他们实验室有一台设备,每次做完实验,要把里面的数据保存下来,因为没办法下载下来,就是由人工保存成图片,然后再用U盘拷贝到其他电脑整理。一次实验估计要保存100张左右的图片,那就意味着要打开100次图片,然后人工读数登记到EXCEL,整个图片读取过程耗时要1个小时,而且还容易出错,真是费事费力啊,也找对应的厂家寻求解决方案,一直没能够解决。
小伙子就找到了我,作为一位自动化的倡导者,自然要去解决这个问题了。
碰巧,去年我做过简单的图像识别,主要是验证码识别和图片识别,正好可以用在这里。
说干就干,根据小伙子的需求,我设计了如下的识别过程:
步骤如下:
- 准备对应的文件,并截取出需要识别的图片。
- 申请百度AI开放平台账号(这个是之前准备好的)。
- 将截取后的图片提交百度。
- 获取百度的返回结果。
- 数据转存到指定位置。
核心代码:
from aip import AipOcr
def get_file_content(filePath):
#读取文件
with open(filePath, 'rb') as fp:
return fp.read()
def get_code_S():
client = AipOcr(APP_ID, API_KEY, SECRET_KEY) #设置百度AI接口账号
fname = '.\\tmp1.png'
image = get_file_content(fname) #读文件
results = client.general(image)["words_result"]
img = cv2.imread(fname)
text=''
list_cap=[]
for result in results: #获取返回结果
text+=result['words']
return text
小结:这个代码并不复杂,核心的处理都是由百度完成了,当然,用这样的方法,可以实现很多的应用,百度AI真心不错,靠谱,也期待着更多的类似应用产生。