我试图运行通过的Ubuntu外壳的最简单的OpenCV的SIFT代码,没有运气SIFT()在OpenCV中不工作
我得到一个错误:
AttributeError: 'module' object has no attribute 'SURF'
代码:
import cv2
cv2.SIFT()
我的配置:
- Ubuntu版本是13.10 64bit
- “cv2。版“ 2.4.5
- DIR输出(CV2)是(对于S只信)
'scaleAdd', 'segmentMotion', 'sepFilter2D', 'setIdentity', 'setMouseCallback', 'setTrackbarPos', 'setUseOptimized', 'setWindowProperty', 'solve', 'solveCubic', 'solvePnP', 'solvePnPRansac', 'solvePoly', 'sort', 'sortIdx', 'split', 'sqrt', 'startWindowThread', 'stereoCalibrate', 'stereoRectify', 'stereoRectifyUncalibrated', 'subtract', 'sumElems'
SIFT和SURF是非自由的,已获专利的算法。一些软件包管理者(例如debian)会给你一个cv2模块,但不包括它们。 – berak
我有额外的配置 - Windows 7与python 2.7和opencv 2.4.6,其中我能够调用SIFT()使用终端和pyDev ...哪些lib导致它在此配置上工作? –
lib将会是opencv_nonfree,但是如果你需要在linux上获得源代码,编译你自己的代码,并且你完成了,那么win上的预编译cv2.pyd可能是静态链接的(所以它已经包含了)。 – berak