Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Why are sift and surf removed from opencv 3?


Asked by Xiomara Madden on Dec 09, 2021 FAQ



Since the release of OpenCV3, the SIFT and SURF implementations have been removed from the default installation of OpenCV 3, same for OpenCV 4. The reason for removing SIFT and SURF is because of what OpenCV calls “non-free” algorithms.
In fact,
SIFT and SURF are in the contributed library section and must be included specifically with the install. see docs.opencv.org/4.1.1/d2/dca/group__xfeatures2d__nonfree.html – fmw42 Sep 19 '19 at 16:24
Consequently, SIFT and SURF are examples of algorithms that OpenCV calls “non-free” modules. These algorithms are patented by their respective creators, and while they are free to use in academic and research settings, you should technically be obtaining a license/permission from the creators if you are using them in a commercial (i.e. for-profit) application.
One may also ask,
It's important that you have to download previous OpenCV versions, so that you have SURF feature detector in your library. Because in the newer versions they have removed these Non-Free modules from the java wrapper. You can check this out. I believe that you have some basic knowledge in working with OpenCV Java.
Subsequently,
Both SIFT and SURF are patented algorithms, meaning that you should technically be getting permission to use them in commercial algorithms (they are free to use for academic and research purposes though).