Implementation of the segmentation algorithm described in: Efficient Graph-Based Image Segmentation Pedro F. Felzenszwalb and Daniel P. Huttenlocher International Journal of Computer Vision, 59(2) September 2004. The program takes a color image (PPM format) and produces a segmentation with a random color assigned to each region. 1) Type "make" to compile "segment". 2) Run "segment sigma k min input output". The parameters are: (see the paper for details) sigma: Used to smooth the input image before segmenting it. k: Value for the threshold function. min: Minimum component size enforced by post-processing. input: Input image. output: Output image. Typical parameters are sigma = 0.5, k = 500, min = 20. Larger values for k result in larger components in the result. Modification by Min 1/30: Modified segment-image-opt.h from original segment-image.h Mainly Modifying the segment_image() function Add segmentImgOpt.cpp including the matlab interface mexFunction Calling the segment_image() defined in segment-image-opt.h