Aucune description

Alexander Freytag 25b101bb78 supporting save search path without flooding il y a 10 ans
data b4d4c73367 added Matlab demo around mex-interfaces il y a 11 ans
COPYING 9a56179e76 added felzenszwalb code il y a 12 ans
Makefile 9a56179e76 added felzenszwalb code il y a 12 ans
README.md 25b101bb78 supporting save search path without flooding il y a 10 ans
compileFelzenszwalbSegmentation.m 1de245ec3d added compilation program il y a 11 ans
convolve.h 9a56179e76 added felzenszwalb code il y a 12 ans
demoFelzenszwalbSegmentation.m b4d4c73367 added Matlab demo around mex-interfaces il y a 11 ans
disjoint-set.h 9a56179e76 added felzenszwalb code il y a 12 ans
filter.h 9a56179e76 added felzenszwalb code il y a 12 ans
image.h 9a56179e76 added felzenszwalb code il y a 12 ans
imconv.h 9a56179e76 added felzenszwalb code il y a 12 ans
imutil.h 9a56179e76 added felzenszwalb code il y a 12 ans
misc.h 9a56179e76 added felzenszwalb code il y a 12 ans
pnmfile.h 9a56179e76 added felzenszwalb code il y a 12 ans
segment-graph.h 962eb0a405 clean-up, code adaptation towards matlab-suitable data sizes, code commentations, stable version il y a 11 ans
segment-image-labelOutput.h 962eb0a405 clean-up, code adaptation towards matlab-suitable data sizes, code commentations, stable version il y a 11 ans
segment-image.h 962eb0a405 clean-up, code adaptation towards matlab-suitable data sizes, code commentations, stable version il y a 11 ans
segment.cpp 9a56179e76 added felzenszwalb code il y a 12 ans
segmentFelzenszwalb.cpp 962eb0a405 clean-up, code adaptation towards matlab-suitable data sizes, code commentations, stable version il y a 11 ans
segmentFelzenszwalb.m 810368e721 minor change on default value il y a 12 ans

README.md

A matlab wrapper for unsupervised segmentation of images based on Felzenszwalb and Huttenlocher

Matlab aspects

Compilation

simply run

compileFelzenszwalbSegmentation.m

Setup - safely add repo to search path

To make Matlab familiar with all relevant paths (there are only 2 currently) go to the root folder and execute

initWorkspaceSegmentation.m


### Demo
1) Run  

demoFelzenszwalbSegmentation.m ```
which requires Matlabs GUI to show images and segmentation results

2) Inspect the demo file to learn how to setup variables, and how to call the underlying mex functions

C++ aspects

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 [segment.cpp, note by A. Freytag] takes a color image (PPM format) and produces a segmentation with a random color assigned to each region.

1) Type make to compile segment.cpp

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.

NOTE ( by Alexander Freytag )

  • only images with less then std::numeric_limits::max() pixels are supported properly!