Airtest管理系统测试——Airtest进阶和图像识别算法(下)
发布时间:2025年09月15日 12:21
# 揭示
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0, 255, 0))
cv2.imshow('Detected SURF keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
surf_test()
测试者图象:
2.2.2.2 surf
SURF形态描述行列式:speeded-Up Robust Features
SURF形态描述子是Herbert Bay等人在2006年公开发表的博士论文“SURF:Speeded Up Robust Features”中所提议的。
SURF主要是把SIFT中所的某些GPU不作了细化。SURF把SIFT中所的高斯下式微分的示例完成了细化,使得时域平滑操不作仅须要转换成加减GPU, 这样使得SURF正则表达式的鲁棒性好且一段时间复杂度低。SURF最终成生的形态点形态向量的维度为64维。
可能要向原不作者给版权另加
测试者代码:
import cv2
import numpy
def surf_test():
img = cv2.imread("lena.png")
cv2.imshow('Input Image', img)
cv2.waitKey(0)
# 样品
surf = cv2.xfeatures2d.SURF_create()
keypoints = surf.detect(img, None)
# 揭示
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0, 255, 0))
cv2.imshow('Detected SURF keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
surf_test()
测试者图象:
2.2.2.3 brisk
Binary Robust Invariant Scalable Keypoints, 2011
测试者代码:
import cv2
import numpy
def brisk_test():
img = cv2.imread("lena.png")
cv2.imshow('Input Image', img)
cv2.waitKey(0)
brisk = cv2.BRISK_create()
keypoints = brisk.detect(img, None)
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0,255,0))
cv2.imshow('Detected BRISK keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
brisk_test()
测试者图象:
2.2.2.4 kaze
KAZE(AKAZE)是基于非线性插值的方法,这一点在图象处理方面来说确实比SURF和SIFT要好,毕竟图象大部份是不连续的
与SIFT/SURF比起
愈来愈加稳定
非线性维度空间
KAZE是日语音译过来的 , KAZE与SIFT、SURF最大者的不同之处在于构造维度空间,KAZE是利用非线性方法构造,获取的恰好也就愈来愈精准
测试者代码:
import cv2
import numpy
def kaze_test():
img = cv2.imread("lena.png")
cv2.imshow('Input Image', img)
cv2.waitKey(0)
# 样品
kaze = cv2.KAZE_create()
keypoints = kaze.detect(img, None)
# 揭示
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0,255,0))
cv2.imshow('Detected KAZE keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
kaze_test()
测试者图象:
2.2.2.5 akaze
AKAZE飞行速度愈来愈加速,比起最初正则表达式,只有在opencv新版本中所才有
测试者代码:
import cv2
import numpy
def akaze_test():
img = cv2.imread("lena.png")
cv2.imshow('Input Image', img)
cv2.waitKey(0)
# 样品
akaze = cv2.AKAZE_create()
keypoints = akaze.detect(img, None)
# 揭示
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0,255,0))
cv2.imshow('Detected AKAZE keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
akaze_test()
测试者图象:
2.2.2.6 orb
Oriented FAST and Rotated BRIEF
ORB形态描述正则表达式的运行一段时间远优于SIFT与SURF,可用于实时性形态样品。
ORB形态基于FAST角点的形态点样品与描述技术, 该正则表达式是Ethan Rubleed 在博士论文“ORB:An efficient alternative to SIFT or SURF”中所提议的。
ORB形态具有维度与轴向标量,同时对增益及可视仿射也具有标量,很差的机动性使得只用ORB在完成形态描述时的运用过场十分尤其。
测试者代码:
import cv2
import numpy
def orb_test():
img = cv2.imread("lena.png")
cv2.imshow('Input Image', img)
cv2.waitKey(0)
# 样品
orb = cv2.ORB_create()
keypoints = orb.detect(img, None)
# 揭示
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0, 255, 0))
cv2.imshow('Detected ORB keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
orb_test()
测试者图象:
2.2.2.7 brief
BRIEF是一个效率很高的提取形态描述子的方法,同时,当图象起因不大的直角内的轴向,它有着很好的鉴别率
测试者代码:
import cv2
import numpy
def brief_test():
img = cv2.imread("lena.png")
cv2.imshow('Input Image', img)
cv2.waitKey(0)
# OpenCV3.x
# 同样由star计算形态点,brief完成细化
star = cv2.xfeatures2d.StarDetector_create()
brief = cv2.xfeatures2d.BriefDescriptorExtractor_create()
"""获取图象形态点和描述符."""
# find the keypoints with STAR
keypoints = star.detect(img, None)
# compute the descriptors with BRIEF
keypoints, descriptors = brief.compute(img,keypoints)
# 须要先为调用img2
img2 = img.copy()
img2 = cv2.drawKeypoints(img, keypoints, img2, color=(0, 255, 0))
cv2.imshow('Detected brief keypoints', img2)
cv2.waitKey(0)
if 曲在name曲在 == '曲在main曲在':
brief_test()
测试者图象:
2.3 修改匹配鉴别正则表达式
from airtest.core.settings import Settings as ST ST.CVSTRATEGY = ["tpl", "sift","brisk"]
2.4 图象鉴别正则表达式小结
2.4.1 机动性解析
明信片机动性:
多张机动性:
最大者文件系统:
最上方图为文件系统斜率,横轴为各有不同的图片名
最大者文件系统:kaze> sift> akaze> surf> brief> brisk> orb
最大者CPU:
中所间图为CPU斜率
最大者CPU:kaze> surf> akaze> brisk> sift> brief> orb
鉴别敏感度:
sift> surf> kaze> akaze> brisk> brief> orb
2.4.2 总结
1.示例最简单正则表达式的好处是飞行速度很快,如果对比度不想扭曲的话,不妨选项它不作为首选正则表达式
2. 在对比度可能亦会起因扭曲的意味着,愈来愈适于用形态点最简单的办法来找图,这样跨平台的生存能力亦会愈来愈高,脚本较难适配各有不同SR的Android
3. sift和surf一直备有了较高的精准率,并且结果比起稳定;sift较surf愈来愈准一些,但是也有brisk最好的时候
4. orb的飞行速度非常快,但是最较难再次出现问题,AKAZE也很较难再次出现问题
5. 其他正则表达式,以外AKAZE,飞行速度的差别都不是不大
。上海牛皮癣治疗费用多少钱少精症怎样预防
沈阳看白癜风哪家好
武汉痛风治疗医院
南京癫痫医院哪家更好
- 女子空腹吃山楂长结石,喝10桶牛奶“消石”:很快乐
- 意天空:凯西续约很难进展 罗马尼奥利若留队必须接受降薪
- 浴室用了半年多,当初的“弊端”全都显现!还没装修的注意避坑
- 只认贷不认房!四川自贡放宽社会保障贷款住房套数认定政策
- 一次出差意外,我和女老板引发了关系,回来后收到辞退信
- 投资者提问:请问战略入股贵公司的世界500强、2016年近现代福布斯排名第6...
- 河南男子包下全城计程车灯牌,高调表白女孩!网友:“豪”无人性
- 投资者提问:请问战略收购贵公司的世界500强、2016年中国福布斯排名第6...
- 2月销值出炉后,如何解读吉利的值与势?
- 投资者提问:尊敬的曹总,您好。请问公司年前是否能够完成收购九方事项?请恰当...
- 年薪10万元,能否养得起一辆劳斯莱斯?真实案例给出回答
- 资本提问:曹总您好:正威并购九方的事情在今年的最后几天能完成吗?如果不能...
- 春季,菠菜正鲜嫩,随便煎一煎,卷一卷就超好吃
- 投资者提问:曹总您好:正威并购九方的事情在月内的最后几天能完成吗?如果不能...
