Written by Mohamed Eldawy (eldawy@cs.wisc.edu) on 12-30-2006. Please email me with any questions. What does this do? ------------------ This program does the following.. 1. Read a list of *.ppm images 2. Applies a segmentation algorithm on each image 3. Transform images in L*U*V color space 4. Build a histogram of L*U*V values in each segment 5. Construct a feature vector for each segment, and output those in a file What is its role? ----------------- This is step #2 for finding the best image for a keyword. Here we build the feature vectors for each image. We will select the best vector in step 3 How to use it? -------------- Once you have built the program, you can run it in the following way... segment sigma k min N where sigma, k, min are parameters to the segmentation algorithm. (typically sigma = 0.5, k = 500, min = 20) N is number of images (this one depends on the result of the first step) The program output a text file called "histogram.txt". This file contains all feature vectors. This will be used in step 3. Issues ------ Remember that this program need *.ppm files (not *.jpg). The files output by step 1 need to be converted to *.ppm files. This can be done using the command line. convert img.jpg img.ppm Credits ------- This implementation of the segmentation algorithm itself was written by Daniel Huttenlocher and is available at http://www.cs.cornell.edu/~dph/ The details of the segmentation algoirthm can be found in this paper... "Efficient Graph-based Image Segmentation" http://www.cs.cornell.edu/~dph/papers/seg-ijcv.pdf