Research‎ > ‎

Source Code

The code used in my papers and projects will be soon available as open source Google code.

All my code is C++ code, sometimes with a python interface, and I use ubuntu (This was tested under ubuntu 12.04).

To start with, here is my symbol spotting code for clean and scanned documents (without the adaptive preprocessing module that deals with noise).
Before you can run and use my code, you need to install iulib.
iulib is an image processing library that I use for image processing and array (& a bit of numerical) computations, since c++ does not provide those.

Install iulib with the following simple steps:
hg clone $release iulib
cd iulib
sudo sh uninstall
sudo sh ubuntu
-j 4 sdl=1
sudo scons
-j 4 sdl=1 install

Now download the source code:
Wait! the code comes with no warranties, and to be used for research purposes only, and for that please cite my paper:
Nibal Nayef and Thomas M. Breuel, "On the Use of Geometric Matching for Both: Isolated Symbol Recognition
and Symbol Spotting", GREC, LNCS 7423, pp. 36–48, 2013.

the paper was actually in the online proceedings of GREC-2011, but publishing the LNCS book took 1.5 years!

Now download the source code:
Here! but first, Warning: This code does not have a user friendly interface, the functionality inside is well organized and so on, but using the code is not easy,
some paths are fixed inside the code, which will cause errors if you do not pay attention what to change inside the code when you change the way to use it ...
unfortunately I have not had the time so far to do that, but to make your life easier, I put in the folder that you will download, all the necessary folders, images, so on, in the correct structure,
so if you keep it this way you can just run it, then when you make changes, make sure the code is changed accordingly.

Now, to compile and build, the make file is included in the folder, so just type:
make or make rebuild

then run with:
./spotting-test ./../modelsa ./../images ./../0debug ./../vecmodelsa

The spotting code spots a symbol model from the "modelsa" folder in the images from the "images" folder, the outputs are put in the "0debug" folder.
The output images are numbered with the model number and the image number.
The code loops through all the models, for each model it loops through all the images.
In the future, I will provide a nicer interface with a documentation that explains the parameters and how to use them.

Nibal Nayef,
Jun 10, 2012, 6:56 AM