HistogramRGB.c. Your classes should publicly inherit from
ImageProcessor. To load and save your feature vector look at the way it's done in other modules, using the
Should this be happening concurrently you should integrate your feature matcher in isolation first, to fix any integration bugs. Once you are sure it's working the code maintainer will integrate it into the master copy of fvg.
To integrate into fvg you need to follow these instructions. First of all, open
in your copy of the fvg code directory. Insert into the code the relevant header file inclusion, and the
relevant string compare function. This function converts the commandline into a
ImageProcessor. For this code to work you will need to
#define a string to compare
NAME_xxx, where xxx is your feature vectors name - the one you used in the
strcmp. This is defined in
fvg.h in the
That's it! Much easier than fvx was.
The following is for archive only:
You should integrate your code with the fvx program which allows you to generate and compare single feature vectors. (see below about concurrent development). You need to add new cases for your particular feature vector for the generate, compare and print attributes functionality. You should ensure that you update the help text located at the bottom of the code. Make sure you've instantiated a global (eugh!) instance of your object at the top of
fvx.c. You will also have to update the Makefiles to include your function, by adding
OBJSDIRvariables near the top of the file, and adding its own compile command in the same manner as the previous features in the file.
Update: The following has been updated!! Now you no longer need to implement a
separate function for each of your modules.
DoItRetrieval deals with the matching of all API compliant
modules. After adding a new line into the list box in
MultiScaleGui.c you should simply add a new
call to this for the appropriate result of the
The makefile will link in the latest image processing library, and it should all just work. Multiscale still
requires you to generate the feature vectors before hand, however, they are now in different directories. They should
QueryImages and the lists are in
The following is for archive only:
Updating the Multiscale code is a simple, if somewhat ugly, task. In
Multiscale.c, you need to copy a template of a function from, say,
DoItHistogramRGBand change the instances of it's specific classes with your own. Yes, it's nasty, but updating it could take considerable time. You then need to add a procedure call to your new function,
DoItXxx, in the GUI callback function,
GoButtonCallback. Just copy a previous line and insert your function. Now you just need to add your feature vector to the pull down list box which is defined in
MultiscaleGUI.cnear the top of the code. Again, just copy a previous line, substituting your own text. Make sure you've instantiated a global (eugh!) instance of your object at the top of
Remember: Mutliscale doesn't generate feature vectors. To run Mutliscale you need to first generate all the feature vectors with fvx into two directories (along with the original images):
QueryImages, which is the default location for these. Then you need to generate the files
QueryDatabase.dbwhich contain the filenames of the original images (less the pathname), preceded by the number in the file. These are required for Multiscale to work.
Much of this process could do with re-working. See "Stuff that'd be nice to do" for more details of things to do.