how to breaks image in to pixel

infilename = 'C:/Users/DELL/Downloads/brains1.png';
Height=8; width=8;
currentimage = imread(infilename);
[r,c,~]=size( currentimage );
[~, currentfilename, ~] = fileparts(infilename);
for i=0:Height:r
ridx = floor(i/Height) + 1;
for j=0:width:c
cidx = floor(j/width) + 1;
if((i+Height)<r && (j+width)<c)
Image=imcrop(currentimage ,[(i+1) (j+1) Height width]);
outfilename = sprintf('%s_%03d_%03d.tif', currentfilename, ridx, cidx);
imwrite(Image, outfilename);
end
end
end

3 Comments

Error in p8 (line 11)
Image=imcrop(currentimage ,[(i+1) (j+1) Height width]);
KSSV
KSSV on 19 Oct 2021
Edited: KSSV on 19 Oct 2021
Specify the error.
After looking at your code, I feel you should read about blocproc.
'imcrop' requires Image Processing Toolbox.

Sign in to comment.

 Accepted Answer

Instead of imcrop() you can use indexing:
Image= currentimage((j+1) : (j+Height), (i+1) : (i+width));

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!