find-object
find-object copied to clipboard
Why some features can't be selected.
Hi,
As shown in the image, some features can't be selected, such as SURF, SIFT, etc. Why is that, do I need to alter your source code in order to make it selectable ?
I'm running the package on Ubuntu 14.04 LTS, ROS Indigo.
Thx
Hi,
You have to build OpenCV from source (with nonfree module for opencv2 or with opencv_contrib for opencv3), then build rtabmap against this version. As you are using Indigo, I recommend to build OpenCV2. If installed in /usr/local (default installation path), rtabmap (cmake) should find and link on this version instead of the binaries installed on 14.04.
cheers, Mathieu
@matlabbe could you give some more details document for this issue? I think this is a very important issue. And its statement is out of this repository at present.
An introduction can be found introlab/rtabmap_ros build from souce.
Stumbled upon this, trying to clarify:
- https://github.com/opencv/opencv_contrib/blob/master/modules/xfeatures2d/src/surf.cuda.cpp is BSD-licenced as are a couple of other files.
- https://github.com/opencv/opencv_contrib/tree/master/modules/xfeatures2d states it contains some
non-free 2D feature algorithms
- But unless the whole sources are provided (with the CMake flag xfeatures2d), OPENCV_XFEATURES2D_FOUND would be false keep the feature from being linked to find-object.
- https://github.com/opencv/opencv_contrib/pull/442#issuecomment-159050758 is a PR providing an (apparently free) version, sadly, pending for a couple of years.
From the recent OpenCV versions, I am not sure if they still use a nonfree SURF and SIFT versions. xfeatures2d contain both free and nonfree detectors. It was easier before in OpenCV 2 where we could set an explicit cmake flag to not build with nonfree modules. In OpenCV3, nonfree stuff seems coming by default with the other free thirdparty detectors. Here is the OpenCV3 nonfree header containing SIFT and SURF: https://github.com/opencv/opencv_contrib/blob/246ea8f3bdf174a2aad6216c2601e3a93bf75c29/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp