OpenCV3如何使用SIFT和SURF Where did SIFT and SURF go in OpenCV 3?_OpenCV3

來源:互聯網
上載者:User


If you’ve had a chance to play around with OpenCV 3 (and do a lot of work with keypoint 

If you’ve had a chance to play around with OpenCV 3 (and do a lot of work with keypoint detectors and feature descriptors) you may have noticed that the SIFT and SURF implementations are no longer included in the OpenCV 3 library by default.

Unfortunately, you probably learned this lesson the hard way by opening up a terminal, importing OpenCV, and then trying to instantiate your favorite keypoint detector, perhaps using code like the following: Where did SIFT and SURF go in OpenCV 3? Shell 1 2 3 4 5 6 $ python >>> import cv2 >>> detector = cv2 .FeatureDetector_create ( "SIFT" ) Traceback ( most recent call last ) :    File "<stdin>" , line 1 , in < module > AttributeError : 'module' object has no attribute 'FeatureDetector_create'

Oh no! There is no longer a cv2.FeatureDetector_create  method!

The same is true for our cv2.DescriptorExtractor_create  function as well: Where did SIFT and SURF go in OpenCV 3? Shell 1 2 3 4 >>> extractor = cv2 .DescriptorExtractor_create ( "SIFT" ) Traceback ( most recent call last ) :    File "<stdin>" , line 1 , in < module > AttributeError : 'module' object has no attribute 'DescriptorExtractor_create'

Furthermore, cv2.SIFT_create  and cv2.SURF_create  will fail as well: Where did SIFT and SURF go in OpenCV 3? Shell 1 2 3 4 5 6 7 8 >>> cv2 .SIFT_create ( ) Traceback ( most recent call last ) :    File "<stdin>" , line 1 , in < module > AttributeError : 'module' object has no attribute 'SIFT_create' >>> cv2 .SURF_create ( ) Traceback ( most recent call last ) :    File "<stdin>" , line 1 , in < module > AttributeError : 'module' object has no attribute 'SURF_create'

I’ll be honest — this had me scratching my head at first. How am I supposed to access SIFT, SURF, and my other favorite keypoint detectors and local invariant descriptors ifcv2.FeatureDetector_create  and cv2.DescriptorExtractor_create  have been removed?

The cv2.FeatureDetector_create  and cv2.DescriptorExtractor_create  were (and still are) methods I used all the time. And personally, I really liked the OpenCV 2.4.X implementation. All you needed to do was pass in a string and the factory method would build the instantiation for you. You could then tun

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.