微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 sift.compute() 在 MSER 关键点上比在 SIFT 关键点上慢

如何解决为什么 sift.compute() 在 MSER 关键点上比在 SIFT 关键点上慢

在 1080x1080 图像上测试来自 openCV 的 sift 提取器的性能导致了一些意想不到的结果:

img = cv.imread("myImage.jpg",0)  # gray
mser = cv.MSER_create()
sift = cv.SIFT_create()

kp = sift.detect(img)   # len(kp) == 5804
des = sift.compute(img,kp)  # time: 0.22s

kp = mser.detect(img)   # len(kp) == 2511
des = sift.compute(img,kp)  # time: 1.62s

与 SIFT 检测到的关键点相比,为什么 sift.compute() 在 MSER 检测到的关键点上更慢?请注意,MSER 检测到的关键点比 SIFT 少。

解决方法

我已经绘制了关键点,这清楚地表明 MSER 关键点比 SIFT 关键点覆盖的区域更大。这可以解释为什么它更慢。

MSER:

sift

筛选:

mser

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。