I've installed OpenCV on ubuntu using this link and I'm trying to use SURF descriptor. I knew that they changed the location of these type of descriptors to the nonfree module so we need to include it, which is something like this: #include "opencv2/nonfree/features2d.hpp"
. The problem is that I'm getting this error at compile time: opencv2/nonfree/features2d.hpp no such file or directory.
Any idea how to fix it?
EDITED: The other parts of openCV are working fine. I'm including the following libraries and everything is looking good:
#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/legacy/legacy.hpp"
I checked the inlcude folder in my OpenCV directory and the nonfree folder is there. Moreover, it's the only library that I can't access within QTCreator (The environment I'm using) because I tried to include all the other librairies found in the Inlcude folder and they looked good.
EDITED2:
You can see a screenshot of what I saw when I ran make VERBOSE=1
on this link
So not sure where to look? Actually, I did not find the nonfree folder in ../usr/include/opencv2/
Thanks.
#include <opencv2/nonfree/features2d.hpp>
(use < > instead of " ") – Azole-I
. If the path after the -I together with opencv2/nonfree/features2d.hpp is a valid header, it should work. If this is not the case, copy the part invoking the compiler and add the right -I with the path. If that works, try to add the include path in your CMake appropriately. – Azole