how to break an image into sub images

16 views (last 30 days)
Rao
Rao on 4 Sep 2012
Commented: Walter Roberson on 19 Oct 2021
i have an image having pixels 512*512 . i want to break it in equal sub images (for eg like into images of 8*8) and want to apply a function (can be any) on each sub image ??

Answers (3)

José-Luis
José-Luis on 4 Sep 2012

Zainab Ishfaq
Zainab Ishfaq on 29 May 2018
Edited: Walter Roberson on 13 Feb 2020
Height=8; width=8;
currentimage = imread('Image.png');
[r,c,~]=size( currentimage );
count=0;
for i=0:Height:r
count=count+1;
for j=0:width:c
if((i+Height)<r && (j+width)<c)
Image=imcrop( currentimage ,[(i+1) (j+1) Height width]);
imwrite(Image,horzcat(currentfilename, num2str(count),'.tif'));
end
end
end
  9 Comments
shital shinde
shital shinde on 21 Feb 2020
Edited: shital shinde on 21 Feb 2020
Thanks sir. It work now. I have one question. Can we parallelize the above example using parallel computing toolbox.
Walter Roberson
Walter Roberson on 21 Feb 2020
Edited: Walter Roberson on 21 Feb 2020
Yes. Just change for i to parfor i
As we have advised you before, the result will almost certainly be notably slower than your current code. But I know from your previous questions that you feel inclined to do that testing yourself.

Sign in to comment.


image-pro
image-pro on 19 Oct 2021
i have an error please help
Error in p8 (line 11)
Image=imcrop(currentimage ,[(i+1) (j+1) Height width]);

Categories

Find more on Image Processing Toolbox 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!