split an image into six equal parts
Show older comments
how we can split an image into six equal parts using a loop and then performing enhancement on each part
2 Comments
Ameer Hamza
on 5 Apr 2020
How do you want to divide the image? Do you want 3 blocks horizontally and 2 blocks vertically or some other arrangement?
uma
on 5 Apr 2020
Answers (2)
Ameer Hamza
on 5 Apr 2020
This code shows one example. However, this will only work if the number of pixels in the image can be evenly divided into blocks
I = imread('pears.png');
blocks = mat2cell(I, size(I,1)/2*ones(1,2), size(I,2)/3*ones(1,3), 3);
count = 1;
for i=1:size(blocks,1)
for j=1:size(blocks,2)
subplot(2,3,count)
imshow(blocks{i,j});
count = count + 1;
end
end
4 Comments
uma
on 5 Apr 2020
Ameer Hamza
on 5 Apr 2020
What is the error?
uma
on 5 Apr 2020
Ameer Hamza
on 5 Apr 2020
It seems that the number of pixels in row and column of your images cannot be evenly divided. Is it acceptable if a few pixels are ignored? At maximum, only 1-2 lines of pixels will be deleted.
Image Analyst
on 5 Apr 2020
0 votes
You can use blockproc(). See attached demos.
Categories
Find more on Neighborhood and Block Processing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!