how to break an image into sub images

11 Ansichten (letzte 30 Tage)
Rao
Rao am 4 Sep. 2012
Kommentiert: Walter Roberson am 19 Okt. 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 ??

Antworten (3)

José-Luis
José-Luis am 4 Sep. 2012

Zainab Ishfaq
Zainab Ishfaq am 29 Mai 2018
Bearbeitet: Walter Roberson am 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 Kommentare
shital shinde
shital shinde am 21 Feb. 2020
Bearbeitet: shital shinde am 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 am 21 Feb. 2020
Bearbeitet: Walter Roberson am 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.

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by