I'm using eclipse neon in windows. I want to use surf in C++ and I'm unable to find a solution. I currently have opencv 3.3.0 for which I made the eclipse build using cmake. Do I really need non-free module or is there another way? And how can I add non-free module?
See here but in summary SURF has been moved to the contrib module in OpenCV3.0
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.
With OpenCV 3 came a big push to move many of these “non-free” modules out of the default OpenCV install and into the opencv_contrib package. The opencv_contrib packages contains implementations of algorithms that are either patented or in experimental development.
here is a tutorial on how to install the contrib library using cmake which does not happen by default.