|
@@ -0,0 +1,69 @@
|
|
|
+% demoFelzenszwalbSegmentation
|
|
|
+%
|
|
|
+% author: Alexander Freytag
|
|
|
+% date: 28-03-2014 (dd-mm-yyyy)
|
|
|
+%
|
|
|
+% brief: small demo showing how to use the felzenszwalb segmentation code
|
|
|
+% via Matlab and how to adjust parameter specifications.
|
|
|
+
|
|
|
+
|
|
|
+%% ( 1 ) GET INPUT
|
|
|
+
|
|
|
+%read image ...
|
|
|
+img = imread( 'data/test.png');
|
|
|
+
|
|
|
+
|
|
|
+% show input image in figure
|
|
|
+figOrig = figure;
|
|
|
+set ( figOrig, 'name', 'Input image');
|
|
|
+imshow ( img );
|
|
|
+
|
|
|
+
|
|
|
+%% ( 2 ) PERFORM SEGMENTATION WITH DEFAULT SETTINGS
|
|
|
+
|
|
|
+
|
|
|
+% call felzenszwalb segmentation using our mex-interface
|
|
|
+segResult = segmentFelzenszwalb( img );
|
|
|
+
|
|
|
+% show segmentation result in separate figure
|
|
|
+figSegResult = figure;
|
|
|
+set ( figSegResult, 'name', 'Segmentation result');
|
|
|
+
|
|
|
+imshow ( segResult );
|
|
|
+% make region colors visually distinguishable
|
|
|
+colormap ( 'lines' );
|
|
|
+
|
|
|
+%% ( 3 ) PERFORM SEGMENTATION WITH SPECIFIED SETTINGS
|
|
|
+
|
|
|
+d_sigma = 0.75; % default: 0.5
|
|
|
+i_k = 700; % default: 500
|
|
|
+i_minSize = 50; % default: 50
|
|
|
+b_computeColorOutput = true; % default: false
|
|
|
+s_destination = ''; % default: ''
|
|
|
+b_verbose = false; % default: false
|
|
|
+
|
|
|
+srManSpec = segmentFelzenszwalb( img, d_sigma, i_k, i_minSize, ...
|
|
|
+ b_computeColorOutput, ...
|
|
|
+ s_destination, ...
|
|
|
+ b_verbose...
|
|
|
+ );
|
|
|
+
|
|
|
+% show segmentation result in separate figure
|
|
|
+figSRManSpec = figure;
|
|
|
+set ( figSRManSpec, 'name', 'Segmentation result, man. specified');
|
|
|
+
|
|
|
+imshow ( srManSpec );
|
|
|
+
|
|
|
+% actually, another linespec is not needed, since the output is already a
|
|
|
+% nice RGB image. However, for easier visual comparison, we again apply the
|
|
|
+% matlab color mapping here.
|
|
|
+colormap ( 'lines' );
|
|
|
+
|
|
|
+
|
|
|
+% wait for user input
|
|
|
+pause
|
|
|
+
|
|
|
+% close images
|
|
|
+close ( figOrig );
|
|
|
+close ( figSegResult );
|
|
|
+close ( figSRManSpec );
|