image block block dividing

2 Ansichten (letzte 30 Tage)
javeed miyandad
javeed miyandad am 10 Apr. 2011
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{:});

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Apr. 2011
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 Kommentare
Walter Roberson
Walter Roberson am 10 Apr. 2011
imshow(r{2,7}) %for example
Soumya
Soumya am 14 Nov. 2011
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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by