how to divide image into 3x3 blocks? '9 parts'
7 views (last 30 days)
Show older comments
i have one rgb image, i converted it to gray then to binary, did imfill, further i want to split that image into 9 blocks i.e 3x3 , please help me
1 Comment
Jan
on 19 Jan 2014
Please show us, what you have tried so far and explain explicitly which problem occur.
Answers (2)
Image Analyst
on 19 Jan 2014
See the FAQ for 2 different ways of doing it: http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F
4 Comments
moahaimen talib
on 14 May 2017
Edited: moahaimen talib
on 14 May 2017
i think i solved the problem by putting
figure(k);
subplot(3,3,1);
imshow(image1);
subplot(3,3,2);
imshow(image2);
subplot(3,3,3);
imshow(image3);
subplot(3,3,4);
imshow(image4);
subplot(3,3,5);
imshow(image5);
subplot(3,3,6);
imshow(image6);
subplot(3,3,7);
imshow(image7);
subplot(3,3,8);
imshow(image8);
subplot(3,3,9);
imshow(image9);
--------------------------------------------------------------
now it shows all segmented images but how can i store each part and extract features for them and store them in good dataset for classification?
-------------------------------------------------------------------
i could make this instruction it will extract features for image1 for all 20 images but i need it for all 9 parts(image1...image9)
% Extract the 9 images.
image1 = imageArray(1:r3, 1:c3);
GLCM = graycomatrix(image1,'Offset',[0 2]);
Resultstats = graycoprops(GLCM,{'energy','Homogeneity'})
image2 = imageArray(1:r3, c3+1:2*c3);
image3 = imageArray(1:r3, 2*c3+1:end);
image4 = imageArray(r3+1:2*r3, 1:c3);
image5 = imageArray(r3+1:2*r3, c3+1:2*c3);
image6 = imageArray(r3+1:2*r3, 2*c3+1:end);
image7 = imageArray(2*r3+1:end, 1:c3);
image8 = imageArray(2*r3+1:end, c3+1:2*c3);
image9 = imageArray(2*r3+1:end, 2*c3+1:end);
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!