Sen descrición

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

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!