image block block dividing

1 次查看(过去 30 天)
sir i have a black and white(binary image) of size(i j) and i need to divide image into blocks of 3X3 size please help me in coding.
sir i used r=blkproc(BW,[3 3]); but it showing error like this
??? Index exceeds matrix dimensions.
Error in ==> blkproc>parse_inputs at 244 [fun,msg] = fcnchk(varargin{3},length(params));
Error in ==> blkproc at 62 [a, block, border, fun, params, padval] = parse_inputs(varargin{:});

采纳的回答

Walter Roberson
Walter Roberson 2011-4-10
There is no default value for the function. You need to provide at least 3 arguments for blkproc()
If you do not want overlapping blocks, and your images are exact multiples of 3 on each side, and you just want all of the blocks returned instead of doing something with them, then:
r = mat2cell(BW, 3 * ones(1,size(BW,1)/3), 3 * ones(1,size(BW,2)/3));
This will return a cell array of 3x3 arrays.
  10 个评论
Walter Roberson
Walter Roberson 2011-4-10
imshow(r{2,7}) %for example
Soumya
Soumya 2011-11-14
Sir I happened to see this answer,and
1) now i have a doubt that how the entire blocks of the image can be viewed like that of blkproc().
2)imshow(r{2,7}) ->what doest the two values 2 and seven refer to?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by