2012-05-22 6 views
8

のためのOpenCV 2.4で行方不明:サーフが説明するように、私は<a href="http://docs.opencv.org/modules/nonfree/doc/feature_detection.html#surf">here</a> OpenCVのを使用してpythonでSURFオブジェクトをインスタンス化しようとしているが、これが起こるのpython

>>> import cv2 
>>> cv2.__version__ 
'2.4.0' 
>>> cv2.SURF() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'SURF' 

SURFから欠落している場合、この問題が発生したか、なぜ誰もが知っていますOpenCVのPython版ですか?

+0

うまくいくはずです。 dir(cv2)はあなたに何を示していますか? –

答えて

9

次回のライブラリ更新で修正する必要がある回帰です。

しかし、SURFは実際には存在しません。あなたはまだ一般的なラッパー経由でアクセスすることができます。

surf_detector = cv2.FeatureDetector_create("SURF") 
surf_descriptor = cv2.DescriptorExtractor_create("SURF") 

更新:cv2.SURF()はOpenCVの中に復元された2.4.1

うまく2.3.2までの作品、およびドキュメントはそれを言う
+0

ありがとう、それは動作します。それが退行だと言ったらどういう意味ですか? –

+0

このようなものhttp://en.wikipedia.org/wiki/Software_regression –

+2

2つのバージョン(cv2.FeatureDetector_create( "SURF")+ cv2.DescriptorExtractor_create( "SURF"))の違いを教えてもらえますか? cv2.SURF())は、2番目のバージョンがよりコンパクトであることを期待していますか? – lizzie

関連する問題