How do I resolve a syntax error when using BLOCKPROC?

function [normim, mask, maskind] = aridgesegment(im, blksze, thresh)
im = normalize(im,0,1); % normalise to have zero mean, unit std dev
fun = inline('std(x(:))*ones(size(x))');
stddevim = blockproc(im, [blksze blksze], fun);
mask = stddevim > thresh; maskind = find(mask);
% Renormalise image so that the ridge regions have zero mean, unit % standard deviation. im = im - mean(im(maskind)); normim = im/std(im(maskind));
Error using ==> BLOCKPROC Argument 'Function' failed validation with error: Invalid block function. BLOCKPROC expects the user function, FUN, to be a valid function handle.
Error in ==> blockproc>parse_inputs at 369 parser.parse(varargin{:});
Error in ==> blockproc at 161 parsed_args = parse_inputs(varargin{:});
Error in ==> aridgesegment at 50 stddevim = blockproc(im, [blksze blksze], fun);

 Accepted Answer

please read help about function blockproc
eg
fun = @(block_struct)std2(block_struct.data) * ones(size(block_struct.data)));
stddevim = blockproc(im, [blksze blksze], fun);

More Answers (1)

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!