lbdmod
A line detection & description pipeline based on the EDLines detector and LBD descriptor in the OpenCV implementation.
To use, please
- Install dependencies
-
GCC, OpenCV
-
Python and boost-python. To obtain boost-python, build boost with
./bootstrap --with-python=python2.7
or, if you need Python 3.X, customize the version in the command above
-
Customize the CMakeLists.txt, part with Python paths (provide paths to the python and numpy libraries and headers)
-
Use (under Linux)
mkdir build
cd build
cmake . ..
make
sudo make install
Then the library will be built in the root folder, and the wrapper will be installed to the Python dist-packages folder.
You can check that it works by running
./lbd_mod_test
from the same folder. After the execution, the file 'test.png' with line detection visualization should appear in this folder.
You can check the python interface by running
python ../python/lbdtest.py
In the python interface, we represent the set of lines as a OpenCV Mat instance. Each row has 17 entries corresponding to line angle, number (class_id), octave, middlepoint's x and y coordinates, response, size, start point's x and y, end point's x and y, start point's x and y in octave, end point's x and y in octave, line length, number of pixels covered by the line (see https://github.com/alexandervakhitov/lbdmod/blob/master/cpp/src/dataconv.cpp). Similarly, line matches are stored.