Giter Club home page Giter Club logo

dbow2's People

Contributors

dorian3d avatar jlblancoc avatar ruffsl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dbow2's Issues

error occured while make vocabulary:

When I am generating the vocabulary using API:: Sift128Vocabulary。error occured:
image

is this a bug? or other problem? I have already check feature.size() an type, and not find problems. I also try for another feature set, and also worded well. does someone know it? Thanks a lot !

Error during build

OSX : 10.11.12

-output of cmake .. -DCMAKE_BUILD_TYPE=Release

-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

MACOSX_RPATH is not specified for the following targets:

DBoW2

This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/gunshigupta/Desktop/4sfm/ORB_SLAM/ThirdParty/DBoW2/build

-output of make

Scanning dependencies of target DBoW2
[ 14%] Building CXX object CMakeFiles/DBoW2.dir/DBoW2/BowVector.cpp.o
[ 28%] Building CXX object CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o
/Users/gunshigupta/Desktop/4sfm/ORB_SLAM/ThirdParty/DBoW2/DBoW2/FORB.cpp:16:10: fatal error:
'stdint-gcc.h' file not found

include <stdint-gcc.h>

     ^

1 error generated.
make[2]: *** [CMakeFiles/DBoW2.dir/DBoW2/FORB.cpp.o] Error 1
make[1]: *** [CMakeFiles/DBoW2.dir/all] Error 2
make: *** [all] Error 2

What do i change/add to compile successfully?
Thanks!

Dbow2函数调用问题

error: ‘openvslam::data::bow_vocabulary {aka class DBoW2::TemplatedVocabulary<cv::Mat, DBoW2::FORB>}’ has no member named ‘loadFromBinaryFile’
bow_vocab_->loadFromBinaryFile(vocab_file_path);
调用DBoW2库时报错,请问这是版本问题还是?

line feature

Can your code train Line feature such as LSD and LBD? How to use? Thank you.

Compile Errors in Ubuntu14.04

Hi,

   Thanks a lot for the code. It works great after executing $cmake, but after execute $make, it has the following errors. Any suggestions? Thanks a lot!

Linking CXX executable demo
/usr/bin/ld: cannot open output file demo: Is a directory
collect2: error: ld returned 1 exit status
make[2]: *** [demo] Error 1
make[1]: *** [CMakeFiles/demo.dir/all] Error 2
make: *** [all] Error 2

Implementing BRISK features

Hi Dorian,
For implementing BRISK features, I have created a class (copied from ORB.cpp) and set FBRISK::L=64; I have also modified the distance measure using the Stanford's CountBitsSetParallel code with a int_64t template:

  const long long  *pa = a.ptr<int64_t>();
  const long long  *pb = b.ptr<int64_t>();

  double dist=0;

  for(int i=0; i<8; i++, pa++, pb++)
  {
	  unsigned long long v = *pa ^ *pb;
	  v = v - ((v >> 1) & 0x5555555555555555UL);
	  v = (v & 0x3333333333333333UL) + ((v >> 2) & 0x3333333333333333UL);
	  dist += (((v + (v >> 4)) & 0xF0F0F0F0F0F0F0FUL) * 0x101010101010101UL) >> 56;
  }

  return dist;
}

I can generate a vocabulary and match image-to-image as in the demo, with similar scores (1 for the same images, <0.1 for different images). however since this has involved some coding outside my comfort zone I am unsure if it was done correctly. Could suggest ways of validating the words stored in the vocabulary?

EDIT: The above runs fine on Windows. however when deployed on Ubuntu as part of ORB_SLAM2 I get:
/home/andres/Andres/myORB_SLAM2/Thirdparty/DBoW2/DBoW2/FBRISK.cpp:88:41: error: invalid conversion from ‘const long int*’ to ‘const long long int*’ [-fpermissive]
const long long *pa = a.ptr<int64_t>();
I guess I need to read a bit more on how each OS handles the integers...

An error when saving the vocabulary to disk

When I ran demo, there was an error occurred. Here is part of the output:
"OpenCV Error: Bad argument (The written string is too long) in icvYMLWriteString, file /home/jin/opencv-3.2.0/modules/core/src/persistence.cpp, line 2111
terminate called after throwing an instance of 'cv::Exception'
what(): /home/jin/opencv-3.2.0/modules/core/src/persistence.cpp:2111: error: (-5) The written string is too long in function icvYMLWriteString".
How should I solve it? Thank you very much!

DVision/DVision.h”: No such file or directory

Hi,
I tried compiling it on Win 7 with VS2013. DLib had been successfully built before doing this and DBoW2 project is also generated by cmake but the compiler gives


D:\dbow2\src\FBrief.cpp(14): fatal error C1083:  “DVision/DVision.h”: No such file or directory
3>  FORB.cpp
3>D:\dbow2\src\FORB.cpp(16): fatal error C1083:  “DUtils/DUtils.h”: No such file or directory
3>  FeatureVector.cpp
3>  QueryResults.cpp
3>  ScoringObject.cpp
3>D:\dbow2\include\DBoW2\TemplatedVocabulary.h(26): fatal error C1083: “DUtils/DUtils.h”: No such file or directory
3> 

Bug of "meanValue" function

In "meanValue" function, if "mean" is assigned with a new value, one of the descriptor would change to this new value too.
I don't know if it is what it should be, but I think the descriptor in this function should not be modified. Here is what I am guessing: when initializing the cluster, a random descriptor is chosen as the "mean", but not in a "clone" way. So if the mean is changing, that chosen descriptor would be changing at the same time (they are the referencing the same address)

How to directly load features from yml?

Hi,

I want to load the features stored in small_voc.yml.gz and match another new image with all the images that had their features extracted. So I'm wondering that since the features are stored in the small_voc.yml.gz, does DBoW2 supports directly loading the features from small_voc.yml.gz?

Or is there a more convenient way to match a new image with the images that have been dealt with beforehand using DBoW2?

Thanks!

Problem with DLibs

My computer is Ubuntu14.04, with Opencv3.1.0. When I build this program, it always comes this error:fatal error: DVision/DVision.h: No such file or directory. I also changed to Opencv2.4.13 and 3.2.0. But it doesn't help. How Can I build this program and is there something I missed when I run with Opencv3.1.0?

Does not building against OpenCV 4.6

DBoW2 does not build against OpenCV 4.6. Probably is broken with any version of OpenCV >= 4.

ota@rigel:/usr/local/src/DBoW2/build$ make
[ 0%] Built target Dependencies
[ 11%] Building CXX object CMakeFiles/DBoW2.dir/src/BowVector.cpp.o
[ 22%] Building CXX object CMakeFiles/DBoW2.dir/src/FBrief.cpp.o
In file included from /usr/local/include/DVision/DVision.h:42,
from /usr/local/src/DBoW2/DBoW2-1.1-free/src/FBrief.cpp:14:
/usr/local/include/DVision/BRIEF256.h: In member function ‘void DVision::BRIEF_t::compute(const cv::Mat&, const std::vectorcv::KeyPoint&, std::vector<std::bitset >&, bool) const’:
/usr/local/include/DVision/BRIEF256.h:207:11: error: ‘cvtColor’ is not a member of ‘cv’
207 | cv::cvtColor(image, aux, cv::COLOR_RGB2GRAY);
| ^~~~~~~~
/usr/local/include/DVision/BRIEF256.h:207:36: error: ‘COLOR_RGB2GRAY’ is not a member of ‘cv’
207 | cv::cvtColor(image, aux, cv::COLOR_RGB2GRAY);
| ^~~~~~~~~~~~~~
/usr/local/include/DVision/BRIEF256.h:214:9: error: ‘GaussianBlur’ is not a member of ‘cv’
214 | cv::GaussianBlur(aux, im, ksize, sigma, sigma);
| ^~~~~~~~~~~~
/usr/local/include/DVision/BRIEF256.h: In member function ‘void DVision::BRIEF_t::generateTestPoints()’:
/usr/local/include/DVision/BRIEF256.h:276:3: error: ‘DUtils’ has not been declared
276 | DUtils::Random::SeedRandOnce();
| ^~~~~~
/usr/local/include/DVision/BRIEF256.h:284:12: error: ‘DUtils’ has not been declared
284 | x1 = DUtils::Random::RandomGaussianValue(g_mean, g_sigma);
| ^~~~~~
/usr/local/include/DVision/BRIEF256.h:289:12: error: ‘DUtils’ has not been declared
289 | y1 = DUtils::Random::RandomGaussianValue(g_mean, g_sigma);
| ^~~~~~
/usr/local/include/DVision/BRIEF256.h:303:12: error: ‘DUtils’ has not been declared
303 | x2 = DUtils::Random::RandomGaussianValue(meanx, sigma2);
| ^~~~~~
/usr/local/include/DVision/BRIEF256.h:308:12: error: ‘DUtils’ has not been declared
308 | y2 = DUtils::Random::RandomGaussianValue(meany, sigma2);
| ^~~~~~
In file included from /usr/local/src/DBoW2/DBoW2-1.1-free/src/FBrief.cpp:15:
/usr/local/src/DBoW2/DBoW2-1.1-free/include/DBoW2/FBrief.h: At global scope:
/usr/local/src/DBoW2/DBoW2-1.1-free/include/DBoW2/FBrief.h:27:20: error: ‘BRIEF’ in namespace ‘DVision’ does not name a type; did you mean ‘BRIEF_t’?
27 | typedef DVision::BRIEF::bitset TDescriptor;

make error,please help me,thank you

In file included from /home/wy/myslam/DBoW2/build/dependencies/src/DLib/src/DVision/BRIEF.cpp:13:0:
/home/wy/myslam/DBoW2/build/dependencies/src/DLib/include/DVision/BRIEF.h:32:28: fatal error: opencv2/core.hpp: 没有那个文件或目录
#include <opencv2/core.hpp>
^
compilation terminated.
make[5]: *** [CMakeFiles/DLib.dir/src/DVision/BRIEF.cpp.o] 错误 1
make[4]: *** [CMakeFiles/DLib.dir/all] 错误 2
make[3]: *** [all] 错误 2
make[2]: *** [dependencies/src/DLib-stamp/DLib-build] 错误 2
make[1]: *** [CMakeFiles/DLib.dir/all] 错误 2
make: *** [all] 错误 2

Issue in cmake while building in MSVC 2015

Hi there is an error in compilation while trying to compile in MSVC 2015

Issue:

LNK 1181: Unable to link to Release\DBoW2.lib

Suggested Resolution:

changing
add_library(${PROJECT_NAME} SHARED ${SRCS})
to
add_library(${PROJECT_NAME} STATIC ${SRCS})

Am I using DBoW2 for the right application?

Hi, first of all thank you for sharing this library.
I want to develop a very simple system for make a robot to repeat a path (it is a study project).
I store an ordered sequence of images (without known pose), and the robot, starting from the same point, has to use them to relocalize and refollow the path over which the database has been acquired.
So the problem should be simpler than place recognition, since the systems only has to decide, while the robot is moving, when to switch image with respect to localize from the current one to the next in the sequence.
I still do not know how frequently in the path the images will be taken, and how much the environment will be ambiguous, so sorry if the question is a bit generic.
Do you think that comparing the DBoW2 scores between the current perception and the current "followed" image, with the scoring between the current perception and the next image in the database, is a good way of doing this?
Another question. I read that you also use the tree to speed up the ORB feature matching, does DBoW2 directly provides this functionality?
Thank you in advance.

Question Vocabulary file

Hi,

1/ Can I build database without Vocabulary file ?
I have a crash. (Have you an example?)

2/ Is it possible to append the vocabulary file?
To be more precise, I have files that will be added in time (uploaded by users), and therefore I would like to avoid rebuilding the vocabulary file every time a file is added.

3/ Is it possible replace file database (yml) by a database (cf. MongoDB) ?

Thanks
Regards

DLib error in installation

When building with cmake I get the following error:

CMake Error at CMakeLists.txt:17 (find_package):
By not providing "FindDLib.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "DLib", but
CMake did not find one.

Could not find a package configuration file provided by "DLib" with any of
the following names:

DLibConfig.cmake
dlib-config.cmake

Add the installation prefix of "DLib" to CMAKE_PREFIX_PATH or set
"DLib_DIR" to a directory containing one of the above files. If "DLib"
provides a separate development package or SDK, be sure it has been
installed.

-- Configuring incomplete, errors occurred!

DLib error while installation in ubuntu 14.04

Hello @dorian3d ,

I am getting this error in ubuntu 14.04

[ 3%] Building CXX object CMakeFiles/DLib.dir/src/DVision/SurfSet.cpp.o
/home/faheem/My Research Project Data/DLib-master/src/DVision/SurfSet.cpp:29:42: fatal error: opencv2/nonfree/features2d.hpp: No such file or directory
#include <opencv2/nonfree/features2d.hpp>
^
compilation terminated.
make[2]: *** [CMakeFiles/DLib.dir/src/DVision/SurfSet.cpp.o] Error 1
make[1]: *** [CMakeFiles/DLib.dir/all] Error 2
make: *** [all] Error 2

can you help me in this case

[Question] update vocabulary zip when new image's bow in

hello, developer.
I really appreciate your project and your work.

now I'm doing my own project that I have an image dataset(specific urban path in my case, called it as 1st image dataset) and I use yours to train images and made vocabulary zip for that image dataset(1st image dataset).

and with vocabulary zip, want to find the same image from the image dataset corresponding with an image of a place of another day in the same path(call it as 2nd image dataset) using your Dbow.

but most of the time found the wrong image with a low score from the image dataset(1st image dataset).
(if using the same image of the image dataset(1st image dataset) to vocabulary zip(1st image dataset), instead of the same image of the place of another day, it found the right image from the 1st image dataset

thus, I will try to add another day's images BoW(2nd image dataset) to the vocabulary zip already made before. (tend to update vocabulary zip)

and I wonder,
will it be okay that add a new Bow of an image(2nd image dataset) to the existing vocabulary zip(1st image dataset) and use it to find an image from the 1st image dataset corresponding to an image of the 2nd image dataset? not like creating a vocabulary zip from scratch with two image datasets again and using this zip to find the right image from 1st image dataset corresponding to an image of 2nd image dataset.

notofication

Hello. I just found issues wall the only way to send a message to you.
Agree to license i should notificate you about redistributing you sources. I just some forking your code here (added storing data in postgresql)

Linking error while making v1.0

Hi

I have OpenCV v2.4.11 installed which works fine with other applications. I have installed DLib v1.0.
While making DBoW2-v1.0, I get the following error trace while linking the executable demo :

[100%] Linking CXX executable demo
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::operator<<(cv::FileStorage&, char const*)':
demo.cpp:(.text+0x52): undefined reference to `cv::operator<<(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `loadFeatures(std::vector<std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > >, std::allocator<std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > > > >&)':
demo.cpp:(.text+0x5ca): undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::FileStorage& cv::operator<< <int>(cv::FileStorage&, int const&)':
demo.cpp:(.text+0x131a): undefined reference to `cv::Exception::Exception(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
demo.cpp:(.text+0x13b8): undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::FileStorage& cv::operator<< <DBoW2::ScoringType>(cv::FileStorage&, DBoW2::ScoringType const&)':
demo.cpp:(.text+0x15ac): undefined reference to `cv::Exception::Exception(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
demo.cpp:(.text+0x164c): undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::FileStorage& cv::operator<< <DBoW2::WeightingType>(cv::FileStorage&, DBoW2::WeightingType const&)':
demo.cpp:(.text+0x1840): undefined reference to `cv::Exception::Exception(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
demo.cpp:(.text+0x18e0): undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::FileStorage& cv::operator<< <double>(cv::FileStorage&, double const&)':
demo.cpp:(.text+0x1ad4): undefined reference to `cv::Exception::Exception(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
demo.cpp:(.text+0x1b82): undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::FileStorage& cv::operator<< <std::vector<int, std::allocator<int> > >(cv::FileStorage&, std::vector<int, std::allocator<int> > const&)':
demo.cpp:(.text+0x1d76): undefined reference to `cv::Exception::Exception(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `void cv::write<int>(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> > const&)':
demo.cpp:(.text+0x1f3a): undefined reference to `cv::WriteStructContext::WriteStructContext(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedVocabulary<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
demo.cpp:(.text._ZNK5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4saveERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4saveERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x92): undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedDatabase<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
demo.cpp:(.text._ZNK5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4saveERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4saveERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x92): undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedVocabulary<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::save(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
demo.cpp:(.text._ZNK5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4saveERN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4saveERN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x45): undefined reference to `cv::operator<<(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
demo.cpp:(.text._ZNK5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4saveERN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4saveERN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x372): undefined reference to `cv::operator<<(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedVocabulary<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
demo.cpp:(.text._ZN5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x92): undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedDatabase<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::save(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
demo.cpp:(.text._ZNK5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4saveERN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZNK5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4saveERN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xb1): undefined reference to `cv::operator<<(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedDatabase<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
demo.cpp:(.text._ZN5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4loadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x92): undefined reference to `cv::FileStorage::FileStorage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedVocabulary<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::load(cv::FileStorage const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
demo.cpp:(.text._ZN5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4loadERKN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5DBoW219TemplatedVocabularyISt6vectorIfSaIfEENS_7FSurf64EE4loadERKN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x72): undefined reference to `cv::FileStorage::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `DBoW2::TemplatedDatabase<std::vector<float, std::allocator<float> >, DBoW2::FSurf64>::load(cv::FileStorage const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
demo.cpp:(.text._ZN5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4loadERKN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5DBoW217TemplatedDatabaseISt6vectorIfSaIfEENS_7FSurf64EE4loadERKN2cv11FileStorageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x117): undefined reference to `cv::FileStorage::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
CMakeFiles/demo.dir/demo/demo.cpp.o: In function `cv::VecWriterProxy<int, 1>::operator()(std::vector<int, std::allocator<int> > const&) const':
demo.cpp:(.text._ZNK2cv14VecWriterProxyIiLi1EEclERKSt6vectorIiSaIiEE[_ZNK2cv14VecWriterProxyIiLi1EEclERKSt6vectorIiSaIiEE]+0xc0): undefined reference to `cv::FileStorage::writeRaw(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned long)'
/usr/local/lib/libDLib.so: undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
/usr/local/lib/libDLib.so: undefined reference to `cv::FileNodeIterator::readRaw(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long)'
/usr/local/lib/libDLib.so: undefined reference to `cv::getTextSize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double, int, int*)'
/usr/local/lib/libDLib.so: undefined reference to `cv::imwrite(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
/usr/local/lib/libDLib.so: undefined reference to `cv::setMouseCallback(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(int, int, int, int, void*), void*)'
/usr/local/lib/libDLib.so: undefined reference to `cv::namedWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
/usr/local/lib/libDLib.so: undefined reference to `cv::destroyWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/local/lib/libDLib.so: undefined reference to `cv::putText(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
/usr/local/lib/libDLib.so: undefined reference to `cv::write(cv::FileStorage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> > const&)'
collect2: error: ld returned 1 exit status

Any help/leads are appreciated.
Thanks in advance.

having issues including opencv modules

after using cmake command as follows

cmake
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr/local
..

i saw the following error while make -j4

Scanning dependencies of target DBoW2
[ 11%] Building CXX object CMakeFiles/DBoW2.dir/src/QueryResults.cpp.o
[ 22%] Building CXX object CMakeFiles/DBoW2.dir/src/BowVector.cpp.o
[ 33%] Building CXX object CMakeFiles/DBoW2.dir/src/FeatureVector.cpp.o
[ 44%] Building CXX object CMakeFiles/DBoW2.dir/src/ScoringObject.cpp.o
[ 55%] Building CXX object CMakeFiles/DBoW2.dir/src/FORB.cpp.o
make[2]: *** No rule to make target 'opencv_stitching-NOTFOUND', needed by 'libDBoW2.so'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 66%] Building CXX object CMakeFiles/DBoW2.dir/src/FBrief.cpp.o
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/DBoW2.dir/all' failed
make[1]: *** [CMakeFiles/DBoW2.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

please help me how to solve this error

Parameters to use

Dorian, thank you for the DBoW2 software. I tried it in some preliminary tests with my own imagery and it performs very well. I have a question though. What are good values for branching factor and depth levels? The defaults are 9 and 3. Are these expected to scale with the number of images? Thank you.

opencv2/core.hpp file not found

Hello everyone.

I am trying to compile the code using Qt in a Mac OS Yosemite, and at compilation time I have the problem of "opencv2 / core.hpp file not found".

Any idea about that. Thank you. :)

Why was SURF Vocab and Database Removed?

I'm noticing that 2bbc1a0 replaced SURF with ORB. However, the FSurf64 class still remains. Is there a reason this out-of-the-box support for SURF descriptors was removed? If I add those typdefs back in I can make/make-install with no problem. But when I then build a project that includes the DBoW2 library, I end up with build errors:

undefined reference to `DBoW2::FSurf64::distance(std::vector<float, std::allocator<float> > const&, std::vector<float, std::allocator<float> > const&)'
undefined reference to `DBoW2::FSurf64::toString[abi:cxx11](std::vector<float, std::allocator<float> > const&)'
...

I've cut out a lot of the error messages above but that's the main idea.
It continues on with similar 'undefined reference errors' for all the methods defined in FSurf64.h. But all these methods are defined in that file.

Is this related to the removal of SURF descriptor support in that commit?

I'm running OpenCV 3.3.1 on Ubuntu 18.04, and I've built OpenCV with opencv_contrib modules.

Does DBoW2 support SIFT feature?

I wonder if DBoW2 can do with image retrieval system, but it seems only support SURF and not SIFT.
So is it suitable for image retrieval system or just loop detection?
Thanks :)

Creating Vocabulary for point features

I am trying to build a loop detector for depth based data. For this I want to build a vocabulary using point features such as FPFH or 3DMatch. I read in the introduction that this version includes template classes hence any kind of descriptor can be used. Can someone just give me an outline of the steps to make a new Vocabulary from features which are not necessarily from images.

nonfree opencv error while compilining.

I'm currently using opencv 3.2.0. While I was compiling I got this error:

fatal error: opencv2/xfeatures2d/nonfree.hpp: No such file or directory compilation terminated.

even if I have correctly installed libopencv-nonfree-dev. So I symlinked:

sudo ln -s /usr/include/opencv2/nonfree/nonfree.hpp /usr/include/opencv2/xfeatures2d/nonfree.hpp
Now the error is:

In file included from /usr/include/opencv2/nonfree/nonfree.hpp:46:0, from /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:27: /usr/include/opencv2/nonfree/features2d.hpp:73:21: error: ‘vector’ has not been declared vector<KeyPoint>& keypoints) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:73:27: error: expected ‘,’ or ‘...’ before ‘<’ token vector<KeyPoint>& keypoints) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:77:21: error: ‘vector’ has not been declared vector<KeyPoint>& keypoints, ^ /usr/include/opencv2/nonfree/features2d.hpp:77:27: error: expected ‘,’ or ‘...’ before ‘<’ token vector<KeyPoint>& keypoints, ^ /usr/include/opencv2/nonfree/features2d.hpp:76:10: error: ‘void cv::SIFT::operator()(cv::InputArray, cv::InputArray, int) const’ cannot be overloaded void operator()(InputArray img, InputArray mask, ^ /usr/include/opencv2/nonfree/features2d.hpp:72:10: error: with ‘void cv::SIFT::operator()(cv::InputArray, cv::InputArray, int) const’ void operator()(InputArray img, InputArray mask, ^ /usr/include/opencv2/nonfree/features2d.hpp:81:5: error: ‘AlgorithmInfo’ does not name a type AlgorithmInfo* info() const; ^ /usr/include/opencv2/nonfree/features2d.hpp:83:49: error: ‘vector’ has not been declared void buildGaussianPyramid( const Mat& base, vector<Mat>& pyr, int nOctaves ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:83:55: error: expected ‘,’ or ‘...’ before ‘<’ token void buildGaussianPyramid( const Mat& base, vector<Mat>& pyr, int nOctaves ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:84:33: error: ‘vector’ does not name a type void buildDoGPyramid( const vector<Mat>& pyr, vector<Mat>& dogpyr ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:84:39: error: expected ‘,’ or ‘...’ before ‘<’ token void buildDoGPyramid( const vector<Mat>& pyr, vector<Mat>& dogpyr ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:85:39: error: ‘vector’ does not name a type void findScaleSpaceExtrema( const vector<Mat>& gauss_pyr, const vector<Mat>& dog_pyr, ^ /usr/include/opencv2/nonfree/features2d.hpp:85:45: error: expected ‘,’ or ‘...’ before ‘<’ token void findScaleSpaceExtrema( const vector<Mat>& gauss_pyr, const vector<Mat>& dog_pyr, ^ /usr/include/opencv2/nonfree/features2d.hpp:89:40: error: ‘vector’ has not been declared void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:89:46: error: expected ‘,’ or ‘...’ before ‘<’ token void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:90:41: error: ‘vector’ has not been declared void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:90:47: error: expected ‘,’ or ‘...’ before ‘<’ token void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:125:28: error: ‘vector’ has not been declared CV_OUT vector<KeyPoint>& keypoints) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:125:34: error: expected ‘,’ or ‘...’ before ‘<’ token CV_OUT vector<KeyPoint>& keypoints) const; ^ In file included from /usr/include/opencv2/nonfree/nonfree.hpp:46:0, from /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:27: /usr/include/opencv2/nonfree/features2d.hpp:128:28: error: ‘vector’ has not been declared CV_OUT vector<KeyPoint>& keypoints, ^ /usr/include/opencv2/nonfree/features2d.hpp:128:34: error: expected ‘,’ or ‘...’ before ‘<’ token CV_OUT vector<KeyPoint>& keypoints, ^ /usr/include/opencv2/nonfree/features2d.hpp:127:10: error: ‘void cv::SURF::operator()(cv::InputArray, cv::InputArray, int) const’ cannot be overloaded void operator()(InputArray img, InputArray mask, ^ In file included from /usr/include/opencv2/nonfree/nonfree.hpp:46:0, from /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:27: /usr/include/opencv2/nonfree/features2d.hpp:124:10: error: with ‘void cv::SURF::operator()(cv::InputArray, cv::InputArray, int) const’ void operator()(InputArray img, InputArray mask, ^ In file included from /usr/include/opencv2/nonfree/nonfree.hpp:46:0, from /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:27: /usr/include/opencv2/nonfree/features2d.hpp:132:5: error: ‘AlgorithmInfo’ does not name a type AlgorithmInfo* info() const; ^ /usr/include/opencv2/nonfree/features2d.hpp:142:40: error: ‘vector’ has not been declared void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:142:46: error: expected ‘,’ or ‘...’ before ‘<’ token void detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask=Mat() ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:143:41: error: ‘vector’ has not been declared void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const; ^ /usr/include/opencv2/nonfree/features2d.hpp:143:47: error: expected ‘,’ or ‘...’ before ‘<’ token void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const; ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp: In member function ‘void DVision::SurfSet::extract(const cv::Mat&, const DVision::SurfSet::SURFParams&)’: /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:123:11: error: ‘xfeatures2d’ is not a member of ‘cv’ cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create( ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:123:11: error: ‘xfeatures2d’ is not a member of ‘cv’ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:123:32: error: template argument 1 is invalid cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create( ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:123:45: error: ‘cv::xfeatures2d’ has not been declared cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create( ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:128:7: error: base operand of ‘->’ is not a pointer surf->detectAndCompute(image, cv::Mat() /* mask */, this->keys, descs); ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp: In member function ‘void DVision::SurfSet::compute(const cv::Mat&, const std::vector<cv::KeyPoint>&, const DVision::SurfSet::SURFParams&)’: /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:180:13: error: ‘xfeatures2d’ is not a member of ‘cv’ cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create( ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:180:13: error: ‘xfeatures2d’ is not a member of ‘cv’ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:180:34: error: template argument 1 is invalid cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create( ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:180:47: error: ‘cv::xfeatures2d’ has not been declared cv::Ptr<cv::xfeatures2d::SURF> surf = cv::xfeatures2d::SURF::create( ^ /home/ale/university/third_semester/probabilist_robotics/exam/DBoW2/build/dependencies/src/DLib/src/DVision/SurfSet.cpp:185:9: error: base operand of ‘->’ is not a pointer surf->compute(image, this->keys, descs); ^ [ 16%] Building CXX object CMakeFiles/DLib.dir/src/DUtilsCV/GUI.cpp.o CMakeFiles/DLib.dir/build.make:182: recipe for target 'CMakeFiles/DLib.dir/src/DVision/SurfSet.cpp.o' failed make[5]: *** [CMakeFiles/DLib.dir/src/DVision/SurfSet.cpp.o] Error 1 make[5]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/DLib.dir/all' failed make[4]: *** [CMakeFiles/DLib.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make[3]: *** [all] Error 2 CMakeFiles/DLib.dir/build.make:110: recipe for target 'dependencies/src/DLib-stamp/DLib-build' failed make[2]: *** [dependencies/src/DLib-stamp/DLib-build] Error 2 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/DLib.dir/all' failed make[1]: *** [CMakeFiles/DLib.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2

Thanks for the support.

question about compiling v1.0 on windows

I am trying to compile your DBoW2 on Windows (the one forked by Jose Luis). The IDE is VS2010 and I use OpenCV2410.
I have successfully compiled you DLib but I was stopped while compiling DBoW2.
The problem happens at compiling the 'demo' project so that I got 4 projects successfully compiled and 1 failed at last.
The VS gives an error of LNK1104: cannot open DBoW2.lib. I have not solved it so far.
The dynamic library, DBoW2.dll, has already been generated under the Debug folder but I have no idea what's wrong with .lib file. It seems that I have to modify something in CMakeLists.txt but I don't know very much about CMakeLists.txt. Any idea about that. Thank you.

Transitive dependencies

Seems like DBoW2 depends on DLib but does not properly set up transitive dependencies.

find_package(DBoW2...) does not properly include it's dependencies (DLib)..

One possibility could be to compile DLib statically and with position independent code (if compiling DBoW2 as shared) so long as DLib is not part of the DBoW2 interface.

which opencv version is needed for brief feature support

I am getting following error while build

In file included from /home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:13:0:
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:100:23: error: ‘KeyPoint’ is not a member of ‘cv’
const std::vectorcv::KeyPoint &points,
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:100:23: error: ‘KeyPoint’ is not a member of ‘cv’
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:100:35: error: template argument 1 is invalid
const std::vectorcv::KeyPoint &points,
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:100:35: error: template argument 2 is invalid
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:118:23: error: ‘KeyPoint’ is not a member of ‘cv’
const std::vectorcv::KeyPoint &points,
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:118:23: error: ‘KeyPoint’ is not a member of ‘cv’
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:118:35: error: template argument 1 is invalid
const std::vectorcv::KeyPoint &points,
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/include/DVision/BRIEF.h:118:35: error: template argument 2 is invalid
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:42:23: error: ‘KeyPoint’ is not a member of ‘cv’
const std::vectorcv::KeyPoint &points,
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:42:23: error: ‘KeyPoint’ is not a member of ‘cv’
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:42:35: error: template argument 1 is invalid
const std::vectorcv::KeyPoint &points,
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:42:35: error: template argument 2 is invalid
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp: In member function ‘void DVision::BRIEF::compute(const cv::Mat&, const int&, std::vector<boost::dynamic_bitset<> >&, bool) const’:
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:77:29: error: request for member ‘size’ in ‘points’, which is of non-class type ‘const int’
descriptors.resize(points.size());
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:80:15: error: ‘KeyPoint’ is not a member of ‘cv’
std::vectorcv::KeyPoint::const_iterator kit;
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:80:15: error: ‘KeyPoint’ is not a member of ‘cv’
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:80:27: error: template argument 1 is invalid
std::vectorcv::KeyPoint::const_iterator kit;
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:80:27: error: template argument 2 is invalid
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:80:45: error: expected initializer before ‘kit’
std::vectorcv::KeyPoint::const_iterator kit;
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:85:7: error: ‘kit’ was not declared in this scope
for(kit = points.begin(); kit != points.end(); ++kit, ++dit)
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:85:20: error: request for member ‘begin’ in ‘points’, which is of non-class type ‘const int’
for(kit = points.begin(); kit != points.end(); ++kit, ++dit)
^
/home/iiith/codes/DBoW2/dependencies/src/DLib/src/DVision/BRIEF.cpp:85:43: error: request for member ‘end’ in ‘points’, which is of non-class type ‘const int’
for(kit = points.begin(); kit != points.end(); ++kit, ++dit)

Software dependencies

Another quick question. DBoW2 depends on some other utilities you wrote. I am wondering if you eventually plan to release those as well as part of this repository. (Obviously it is just a matter of ease of use, since they can be easily compiled separately.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.