首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV 'SIFT‘属性错误

OpenCV 'SIFT‘属性错误
EN

Stack Overflow用户
提问于 2014-03-22 17:17:03
回答 1查看 734关注 0票数 1

我写这个函数是为了比较视频帧的关键点。

代码语言:javascript
复制
def match_images(img1, img2):
    """Given two images, returns the matches"""
       detector = cv2.SIFT(100)
       matcher = cv2.BFMatcher(cv2.NORM_L2)

       kp1, desc1 = detector.detectAndCompute(img1, None)
       kp2, desc2 = detector.detectAndCompute(img2, None)

       raw_matches = matcher.knnMatch(desc1, trainDescriptors = desc2, k = 2) 
       kp_pairs = filter_matches(kp1, kp2, raw_matches)
       return kp_pairs

我得到了这个错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 173, in <module>
    kp_pairs = match_images(img1, img2)
  File "test.py", line 18, in match_images
    detector = cv2.SIFT(100)
   AttributeError: 'module' object has no attribute 'SIFT'
EN

回答 1

Stack Overflow用户

发布于 2018-07-29 10:22:19

现在您已经安装了带有opencv_contrib包的OpenCV 3,您应该可以从OpenCV 2.4.X访问原始的SIFT和SURF实现,只是这一次它们将通过cv2.SIFT_create和cv2.SURF_create函数在xfeatures2d子模块中。

代码语言:javascript
复制
python3
>>> import cv2
>>> image = cv2.imread("test_image.jpg")
>>> gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
>>> sift = cv2.xfeatures2d.SIFT_create()
>>> ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22575682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档