首页 >> 中医刮痧

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,飞行速度的差别都不是不大

上海牛皮癣治疗费用多少钱
少精症怎样预防
沈阳看白癜风哪家好
武汉痛风治疗医院
南京癫痫医院哪家更好

上一篇: 南芯太阳能电池推出充电芯片 SC89890H,支持 5A 充电电流

下一篇: 继折痕优化之后,vivo X Fold又将在指纹解锁领域导致大惊喜

友情链接