nonfree features2D headers

asked 2013-07-26 20:09:48 -0500

rednaks gravatar image

updated 2013-07-26 20:16:14 -0500

Hello, we are a team working with diffrent dev environment, most are using Windows, I'm in charge of the intergration of the app and I'm under ubuntu 12.04, and it seems that there is a problem with the nonfree features2D headers. On windows it's located at opencv2/nonfree/features2d.hpp but in ubuntu it's in diffrent location

So I'm wondering, does all linux distributions are like ubuntu ? so that I can use opereting system macro to add or not specific headers. PS: I've tried to build opencv2 from sources and the result was like in windows. How can you advice me to make it possible for cross build ?


edit retag flag offensive close merge delete


On windows the features2D shouldn't be under the nonfree module, only the SURF and SIFT part. There is also a normal features2D folder! You have to keep this in mind while programming. If using the sift and suft, you address the features2D from the nonfree module, else you can just use the normal features2D module and headers.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-07-27 03:35:15 -0500 )edit

Also when building it yourself, keep in mind that you download source branch 2.4 which has the old structure. The main repository is moving to openC3.0 which will have a complete new interface layout. Sticking to 2.4.6 will yield the most stable results for now!

StevenPuttemans gravatar imageStevenPuttemans ( 2013-07-27 03:36:36 -0500 )edit

Yes I'm talking about nonfree module, my app is using SURF and SIFT.

rednaks gravatar imagerednaks ( 2013-07-27 05:13:52 -0500 )edit

SURF and SIFT were moved to nonfree module. If in your Ubuntu it's located in opencv2/features2d/features2d.hpp, it means that you use old version of OpenCV.

Vladislav Vinogradov gravatar imageVladislav Vinogradov ( 2013-07-27 07:23:16 -0500 )edit

@V I'm using opencv 2.3.1-7, is there any MACRO for opencv version ?

rednaks gravatar imagerednaks ( 2013-07-28 05:20:40 -0500 )edit

Basically using an old version is not that interesting, since tons of bugs have been fixed in newer versions. The effort in making changes to your project is minimal to the gain you get.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-07-28 06:03:46 -0500 )edit

@Stev Well, I'm planning to distribute the code source (propably github) and now the default package in ubuntu, debian and fedora are using that older version, so I'm trying to make something that could work for every one

rednaks gravatar imagerednaks ( 2013-07-28 06:07:27 -0500 )edit

@rednaks: Having the newest OpenCV version is the problem of the user. Use the newest version, it will give you and all others less problems, even if that means that some users have to update it by hand.

Guanta gravatar imageGuanta ( 2013-07-28 14:47:59 -0500 )edit