image block block dividing

1 回表示 (過去 30 日間)
javeed miyandad
javeed miyandad 2011 年 4 月 10 日
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 件)

Community Treasure Hunt

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

Start Hunting!

Translated by