AttributeError: module 'cv2' has no attribute 'SIFT'

来源:互联网 发布:网络棋牌开发公司 编辑:程序博客网 时间:2024/06/05 05:26

在用python使用opencv进行SIFT时候,编译出现这样问题:

Traceback (most recent call last):  File "F:/PyCharm/pydir/t3.py", line 4, in <module>    sift = cv2.SIFT()AttributeError: module 'cv2' has no attribute 'SIFT'

这样的错误信息。代码如下:

import cv2img = cv2.imread('test3.jpg')sift = cv2.SIFT()

原因:opencv将SIFT等算法整合到xfeatures2d集合里面了。变更后写法如下:

import cv2img = cv2.imread('test3.jpg')gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)sift = cv2.xfeatures2d.SIFT_create()kp = sift.detect(gray,None)img=cv2.drawKeypoints(gray,kp,img)cv2.imwrite('sift_keypoints.jpg',img)

原图

处理后

附:官方文档说明

http://docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html

阅读全文
0 0