How do I resolve a syntax error when using BLOCKPROC?
1 view (last 30 days)
Show older comments
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);
0 Comments
Accepted Answer
Andrei Bobrov
on 24 Feb 2012
eg
fun = @(block_struct)std2(block_struct.data) * ones(size(block_struct.data)));
stddevim = blockproc(im, [blksze blksze], fun);
0 Comments
More Answers (1)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!