How do I resolve a syntax error when using BLOCKPROC?

조회 수: 1 (최근 30일)
dee koshy
dee koshy 2012년 2월 24일
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);

채택된 답변

Andrei Bobrov
Andrei Bobrov 2012년 2월 24일
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);

추가 답변 (1개)

dee koshy
dee koshy 2012년 2월 24일
oh Thankyou sooo much! :):)

Community Treasure Hunt

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

Start Hunting!

Translated by