五分钟技术趣谈 | OCR在游戏加速效果上的应用

开发 开发工具
OCR(Optical Character Recognition,光学字符识别)技术已广泛应用于日常的文字识别、图像识别、身份认证等场景当中。在面对海量的需要进行加工处理的信息数据时,传统的人工识别工作量大且繁琐,而且由于大部分工作都是机械重复性劳动,对于工作人员来说可能显得枯燥。

[[409947]]

Labs 导读

OCR(Optical Character Recognition,光学字符识别)技术已广泛应用于日常的文字识别、图像识别、身份认证等场景当中。在面对海量的需要进行加工处理的信息数据时,传统的人工识别工作量大且繁琐,而且由于大部分工作都是机械重复性劳动,对于工作人员来说可能显得枯燥。从图像中获取有用信息,考虑使用识别技术,实现文字识别自动化,提升工作效率。

 

Part 01● 图片预处理 ●

完整的一张游戏运行截图中除了我们所需要的时延值外,还会有上下行数据、位置坐标、生存人数等数据(不同游戏的数据存在差异),考虑到OCR识别会把图片上的所有值都解析出来,我们需要进一步对多个数据进行分析筛选,在一定程度上加大获取时延值的难度,因此先把图片进行预处理,只截取有用的时延部分。同一款游戏的时延值在画面上的位置一定,针对不同游戏只要改变截取位置。

Part 02● OCR识别分析 ●

拿到截取的游戏图片后,接下来就要对其进行识别,获取其中的时延数据,这里将运用到OCR识别技术。它是利用光学技术和计算机技术把纸上或图片中的文字读取出来,转换成计算机能够接受的格式,加工处理识别出其中有用的信息。OCR的识别过程一般包括图像处理(二值化、降噪、校正等)、特征提取、对比检测、内容识别。而近年来随着人工智能的不断发展,基于深度学习的OCR表现相较于传统方法在识别率和效率上更加出色。目前百度、腾讯、华为等公司都提供了OCR服务,不需要了解具体的识别技术细节,通过调用API接口即可完成图片文字的识别。我们选择使用百度的OCR文字识别接口服务,根据官方提供的API文档完成方法的调用。具体使用方法如下:

1.安装aip识别包,引入相应的lib

  1. pip install baidu aip 
  2. from aip import AipOcr 

2.初始化OCR

  1. def initOcr(ocrAuth):  
  2. client = AipOcr(ocrAuth['appid'],  
  3. ocrAuth['appkey'], ocrAuth['secretkey']) 
  4. return client 

这里需要使用百度账号申请appkid、appkey和secretkey信息。

3.调用具体识别方法

  1. result = client.webImage(image) 

接口服务返回数据:

  1. [{‘words’: ’ping: 77ms’}] 

通过查看不同游戏我们发现,部分游戏的时延值前面带有“Ping”,有些是直接一个数值,还有的则是中文的“延迟”,因此需要对返回的识别结果做进一步的处理,用于区分不同游戏。最后通过正则表达获取到其中的时延值。

  1. re_obj = re.compile(r"\d+\.?\d*")  
  2. res_list = re_obj.findall(words) 

Part 03● 工具实现 ●

完成了图片的处理和识别,接下来就是把结果友好地进行展示,我们实现一个简单的可执行界面工具,将识别流程串联起来。整体的流程:

工具内容主要包括游戏选择、图片路径选择、游戏截图。为了减少识别调用次数,提高识别效率,可以将图片合并处理。

最终的工具界面长这样:

Part 04● 游戏图片识别 ●

接下来就是具体的使用了,首先需要选择具体的游戏,获取游戏图片的保存路径用于读取,然后针对游戏图片进行截图获取坐标。将图片经过OCR识别显示结果,并根据识别的结果和图片时间画出曲线图。我们使用一款游戏图片进行测试:

识别结果如下,5个数据为1组,55张图片一共耗时9.28s。曲线图直观地展示了游戏时延值随时间的变化情况。

 

通过人工查看图片与识别结果进行对比,两者的时延值一致。针对不同游戏,只要改变图片的读取路径以及截取坐标位置即可。

Part 05● 结语 ●

结合OCR技术,可以对不同类型的图片信息进行快速有效地识别,减少人工的工作量,满足项目测试及数据比对的需求。随着信息技术的不断发展,各式各样的OCR技术也将会更多地应用在日常生活中,给人们带来高效和便利。

作者:冯旭超,单位:中国移动智慧家庭运营中心

【本文为51CTO专栏作者“移动Labs”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

 

责任编辑:未丽燕 来源: 移动Labs
相关推荐

2021-05-17 15:17:42

Thread物联网IOT路由器

2023-08-23 07:21:44

JsonSchema测试

2023-07-23 18:47:59

Docker开源

2023-07-16 18:49:42

HTTP网络

2023-09-02 20:15:46

VXLAN云网关

2023-04-15 20:25:23

微前端

2023-06-03 21:06:05

2023-09-03 19:06:42

2023-08-06 07:05:25

Android优化

2021-06-04 15:55:57

GPU云桌面5G+AI

2023-09-03 19:21:07

大数据架构

2023-07-02 16:09:57

人工智能人脸识别

2023-07-02 16:34:06

GPU虚拟化深度学习

2023-07-12 15:50:29

机器学习人工智能

2023-08-29 06:50:01

Javamaven

2023-09-12 07:10:13

Nacos架构

2023-08-15 14:46:03

2023-07-31 08:55:15

AI技术网络暴力

2023-09-18 07:16:53

数据库TDengine

2023-07-12 16:03:37

Android开发架构
点赞
收藏

51CTO技术栈公众号