Bootstrap

opencv 使用 GPU 加速

1

自动化测试过程中使用图片识别技术识别控件已经成为普遍需求。图片识别通常以HTTP的API形式提供给测试开发者,API的响应速度至关重要。

1

本文关注opencv中相关API的提速,服务端的其他提速技术不在讨论范围内。

opencv-python默认不提供GPU的支持,也就是cuda库的支持,需要自己编译。本文选用opencv 3.2.0 cuda8.0(因为官方推荐使用这两个版本),使用其他版本可能会出现编译失败的问题,如果你有信心解决具体问题,欢迎尝试。

1

图片匹配

# coding=utf-8
import cv2
import time
 
def match_test():
    target = cv2.imread("./target.png")
    template = cv2.imread("./template.jpg")
    result = cv2.matchTemplate(target, template, cv2.TM_CCOEFF_NORMED)
    minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(result)
    h, w = template.shape[:-1]
    if maxVal > 0.5:
        middle_point = (int(maxLoc[0] + w / 2), int(maxLoc[1] + h / 2))
        return middle_point
    else:
        return None
 
if __name__ == '__main__':
    num = 100
    begin = time.time()
    for i in range(num):
        match_test()
    print (time.time()-begin)/num
    

结果

CPU:0.299

GPU:0.181

提升:39.4%

视频干货合集

2024最新Python3.1x软件测试开发必备语法基础讲解

7天软件测试快速入门教程

测试开发精品公开课合集

测试开发/自动化测试/性能测试/精准测试/测试左移/测试右移/人工智能测试

大厂面试真题解析

JMeter实时性能监控平台


在这里插入图片描述

另免费赠送软件测试开发方面的专业资料包!助您事半功倍,提升技能,把握职场先机。

软件测试职业发展
在这里插入图片描述
零基础入门
在这里插入图片描述

测试必备编程篇
在这里插入图片描述
自动化测试
在这里插入图片描述
性能测试
在这里插入图片描述
测试管理
在这里插入图片描述
工程效能篇
在这里插入图片描述
面试求职篇

软件测试的面试宝典,内含一线互联网大厂面试真题、面试技巧、软件测试面试简历指导,免费领取!
在这里插入图片描述

;