Code covered by the BSD License
07 Mar 2013
The code segments the grayscale image using graph cuts.
Watch this File
Running the Code:
[Ncut] = graphcuts(I,pad,MAXVAL)
% function [Ncut] = graphcuts(I)
% Input: I image
% pad: spatial connectivity; eg. 3
% MAXVAL: maximum image value
% Output: Ncut: Binary map 0 or 1 corresponding to image segmentation
@matlabuser1 I assume you are passing the to the function.In that case you should not get any error. Can you send me the file in which you are calling the function at email@example.com. I can look into the error.
Firstly, I am getting an error:
??? Input argument "I" is undefined.
Error in ==> graphcuts at 7
I = double(I); [H,W] = size(I);
Also, I am getting the same graph cut for ever image. Please help me out.
You might want to add a input check / limitation to the max. input size of an image.
For a 400x400 image, this code requires approximately 200Gb of memory...
The code is quite compact though. Thanks for sharing.
Why there is a problem when I run this program!!!
Out of memory. Type HELP MEMORY for your options.
Error in graphcuts (line 18)
WM = zeros(H*W,H*W); countWM = 0;
This is a very poor and extremely inefficient implementation of the normalized graph cut algorithm.