1 | initial version |
The developers of SURF hold a patent on their algorithm. However, for scientific purposes you can use it (for commercial ones you need to ask the original developers (not the OpenCV-crew!) about a licence).
Three steps to get it run:
BUILD_opencv_nonfree
needs to be set! (e.g. by using ccmake) or call cmake with -DBUILD_opencv_nonfree
. (Note: afaik the standard case is that it is activated - haven't checked the latest version yet though.)<opencv2/features2d/features2d.hpp>
and <opencv2/nonfree/nonfree.hpp>
cv::initModule_nonfree();
before you want to use SURF (or SIFT)Btw. if you are devloping commercial products always be aware that sth. could be under a patent, e.g. non-local means which is also available in OpenCV - but not part of the nonfree-module - actually also has an EU-patent.
2 | No.2 Revision |
The developers of SURF hold a patent on their algorithm. However, for scientific purposes you can use it (for commercial ones you need have to be aware of the patent, read it carefully and if you may violate it: ask the original developers (not the OpenCV-crew!) about a licence).
Three steps to get it run:
BUILD_opencv_nonfree
needs to be set! (e.g. by using ccmake) or call cmake with -DBUILD_opencv_nonfree
. (Note: afaik the standard case is that it is activated - haven't checked the latest version yet though.)<opencv2/features2d/features2d.hpp>
and <opencv2/nonfree/nonfree.hpp>
cv::initModule_nonfree();
before you want to use SURF (or SIFT)Btw. if you are devloping commercial products always be aware that sth. could be under a patent, e.g. non-local means which is also available in OpenCV - but not part of the nonfree-module - actually also has an EU-patent.
3 | No.3 Revision |
The developers of SURF hold a patent on their algorithm. However, for scientific purposes you can use it (for commercial ones you have to be aware of the patent, read it carefully and if you may violate it: ask the original developers (not the OpenCV-crew!) about a licence).
Three steps to get it run: run (used version: OpenCV 2.4.4):
BUILD_opencv_nonfree
needs to be set! (e.g. by using ccmake) or call cmake with -DBUILD_opencv_nonfree
. (Note: afaik the standard case is that it is activated - haven't checked the latest version yet though.)<opencv2/features2d/features2d.hpp>
and <opencv2/nonfree/nonfree.hpp>
cv::initModule_nonfree();
before you want to use SURF (or SIFT)Btw. if you are devloping commercial products always be aware that sth. could be under a patent, e.g. non-local means which is also available in OpenCV - but not part of the nonfree-module - actually also has an EU-patent.