Code covered by the BSD License  

Highlights from
Efficient Graph based image Segmentation

4.6

4.6 | 5 ratings Rate this file 146 Downloads (last 30 days) File Size: 1.13 MB File ID: #25866
image thumbnail

Efficient Graph based image Segmentation

by Su Dongcai

 

17 Nov 2009 (Updated 24 Nov 2009)

A simple and efficient graph based image segmentation algorithm

| Watch this File

File Information
Description

This file is an implementation of an image segmentation algorithm described in reference[1], the result of segmentation was proven to be neither too fine nor too coarse. A toolbox regarding to the algorithm was also avalible in reference[2], however, a toolbox in matlab environment is excluded, this file is intended to fill this gap.

To duplicate the result of the screenshot, please run:
test_GraphSeg

Reference:
[1] Efficient Graph-Based Image Segmentation,
Pedro F. Felzenszwalb and Daniel P. Huttenlocher International Journal of Computer Vision, Volume 59, Number 2, September 2004
[2] http://people.cs.uchicago.edu/~pff/segment/

Acknowledgement:
The Author want to thanks:
[1] Yan Zhang
      2D/3D image segmentation toolbox
      http://www.mathworks.com/matlabcentral/fileexchange/24998-2d3d-image-segmentation-toolbox
For his "binaryHeap.h" class in cpp
[2] Dirk-Jan Kroon
      Image Edge Enhancing Coherence Filter Toolbox
      http://www.mathworks.com/matlabcentral/fileexchange/25449-image-edge-enhancing-coherence-filter-toolbox
For the "Coherence Filter Toolbox" he provided
And
[3] Luigi Giaccari
      FAST K-NEAREST NEIGHBOURS SEARCH 3D VERSION
      http://www.mathworks.com/matlabcentral/fileexchange/24607-fast-k-nearest-neighbours-search-3d-version
For the fast implementation of K-NEAREST NEIGHBORS SEARCH in 3D.

MATLAB release MATLAB 7 (R14)
Tags for This File  
Everyone's Tags
coarse, fine, graph, image processing, image segmentation(2), kruskal, minimum span tree
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (19)
16 Feb 2013 Carl

Hi Su,

I am new in graph-based segmentation.
In the paper, there is parameter k usually set as 150/300. What is k value in your code, how do I change it?

I got segmentation images from all r,g and b channel, how can I intersect with them?

Can someone else guide me through this? I will be really appreciated.

19 Jan 2013 Carl

Hi Su,

Thanks for the good work. Could you please let me know how to run it with color image? Thanks a lot.

05 Jul 2012 Afaq

Hi Su,

Is it possible to find the total number of components (segmented regions) in graph based segmented image by using your code? In the paper, the author is using the term C for total number of component. Can you please guide me in this regard.

20 Jun 2012 Afaq

I was compiling but was getting the specified error. However, issue resolved for Windows by some other approach .... Now I am facing problem while running this code in Linux.

18 Jun 2012 Beijing Jiaotong University

Hi, you must first compile this file.

18 Jun 2012 Afaq

Hi,
I am getting following error while running this code. Can any one help me?

>> L = graphSeg(filted_I, 0.5, 50, 2, 0);
??? Undefined function or method 'GraphSeg_mex' for input arguments of type 'double'.

Error in ==> graphSeg at 44
L = GraphSeg_mex(img, threshold, min_size, nRadius);

tried to fix it using mex but it didn't work.

14 Dec 2011 reena

sir can u please tell how u have loaded image of the clown, i want to try this with different images please tell me the steps....

21 Nov 2011 Green amy

want to download it

24 Oct 2011 woon cho  
06 Oct 2011 bailjung

Can input another image??

21 Sep 2010 Pindi Mani

Hi...
Please tell me how to run this code..... As i am new to MatLab i do not know....
Please tell me the commands and which file to run....
plz tell me soon......
My email_id is linda_mgnl@hotmail.com
Expecting a reply soon....
Thank you

20 Sep 2010 Pindi Mani

Please.... As i'm new to matlab.... please tell me how to run this program....

Can u give all the commands to run this program in matlab.....
Soon....
My email id is linda_mgnl@hotmail.com

Thank you

09 Sep 2010 Chao Zeng

Good work!

One problem. The following information appears on the command window when I try to run test_GraphSeg.m.
"COMPILING:
Error: Could not detect a compiler on local system
which can compile the specified input file(s) at C:\Program Files\MATLAB71/bin/mexsetup.pm line 501.
??? Error using ==> mex
Unable to complete successfully

Error in ==> test_GraphSeg at 30
mex GraphSeg_mex.cpp"

What's wrong? Thank you

04 Sep 2010 nivitha

i'm new to matlab.pls temme how to run all those program...
pls help me soon
thid id ma id (niviadmires@gmail.com)

26 Feb 2010 Su Dongcai

Hi zhao:
Good question. According to paper [1], the segmented result of multi-channel image is done by intersection of single-channel image segmentation result. I will update this vision and make it work for color image segmentation later soon. Thanks for your comment.

24 Feb 2010 aber zhao

if the input is the 3 D range image, how can i make this work? thx

18 Jan 2010 piji li

很好很强大 正在找呢

Perfect!

29 Nov 2009 Su Dongcai

Hi zaheer ahmad:
Thanks for your comment, you are right, the main routine "GraphSeg.h" was still written in C++. Sorry to disappoint you, I'm not familiar of working with pointers in matlab, I'm a c programer before a matlab coder. However, I'll be very happy if you or someone else could fill this gap:).

29 Nov 2009 zaheer ahmad

I thin it would be better if you convert all the code into Matlab as stil main code is in C++.

Updates
24 Nov 2009

Make the name of the title, tags, and reference more accurate

Contact us