前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python下基于图片的文字识别与获取

python下基于图片的文字识别与获取

作者头像
用户6367961
发布2020-03-23 16:26:10
2.9K0
发布2020-03-23 16:26:10
举报
文章被收录于专栏:自学测试之道自学测试之道

上篇文章了解了基于pyautoGUI库的元素识别,这次又遇到一个问题:桌面应用程序做自动化测试时,无法识别到页面元素,且页面的元素,每运行一次都会变动(累计增加),为了达到目的,在网上找了相关资料,坐下总结

一、前期准备

1、准备好图片(整个桌面程序的截图)

2、在百度智能云注册API(https://login.bce.baidu.com/?account=&redirect=http%3A%2F%2Fconsole.bce.baidu.com%2Fai%2F%3F_%3D1553338619822%26fromai%3D1#/ai/ocr/overview/index),

原理很简单,就是用了百度智能云的图片识别接口进行识别,结果写到本地,其他厂的我也试过,个人感觉腾讯的要比百度的精确,并且得出来的结果更加好用,可以方便的写入excel,但是无奈要收费,所以最终用了百度,每天1000次免费识别,够用了。

3、安装支持的库:

pip install baidu-aip

二、文件目录

其中:要识别的图片文件夹存放需要识别的图片;successful.txt存放从图片上识别的所有数据;123.txt存放筛选后所需的数据

三、示例代码

代码语言:javascript
复制
#coding:utf-8
import os
from aip import AipOcr

print("正在努力识别中,请耐心等待".center(60))
APP_ID = '1xxxxx2'
API_KEY = 'xxxxxx'     # 需要自己去注册
SECRET_KEY = 'GxxxxxxxxL'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
BASE_DIR = os.getcwd()
id_list = os.listdir(os.path.join(BASE_DIR, "要识别的图片"))
success_path = os.path.join(BASE_DIR, "successful.txt")
sss = os.path.join(BASE_DIR, "123.txt")
count = 0
for id in id_list:
    img = open(os.path.join(BASE_DIR, "要识别的图片", id), 'rb').read()
    msg = client.basicGeneral(img)  # 识别图片
    str1 = ""
    for i in msg["words_result"]:
        print("{}".format(i["words"]).center(60))
        str1 += "{}\n".format(i["words"])
    with open(success_path, 'a') as f:
        f.write("{}\n\n".format(str1))
        print("\n")
    print("写入中,请稍等。。。".center(60))
    count += 1
    print("\n\n")
print("执行结束,共完成了{}图片的识别,资料已写入到successful.txt".format(count).center(60))

#  打开文件,筛选需要的行数数据
with open(success_path, 'r') as f:  #打开文件
    lines = f.readlines() #读取所有行
    last_line = lines[-11] #取最后一行
    print('文件' + success_path + '倒数第11行为:'+ last_line)
    last_data = last_line[6 : 10]
    print(last_data)
# 写入文件保存筛选结果
with open(sss, 'a') as f:
    f.write("{}\n\n".format(last_data))
    print("\n")
print("写入成功".center(60))

运行结果

基本上实现了所需功能,这样,只要每次运行后读取123.txt文档中的数据就可以执行下一步操作了。(由于时间急,后续在考虑封装优化代码吧)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档