How to divide an image in two blocks

16 views (last 30 days)
How can I divide an image into two halves? Then, after dividing it make each half independent, say
A = top half and
B = the bottom half.
So that I can extract features from each half.
  2 Comments
Nourou
Nourou on 8 Aug 2014
Edited: Image Analyst on 8 Aug 2014
Hi Jack, Azzi,
Please I need a clarification about the usage of the following method:
im=imread('yourimage')
n=fix(size(im,1)/2)
A=im(1:n,:,:);
B=im(n+1:end,:,:)
imshow(A)
figure
imshow(B)
I try to use it on a grayscale image, but the results are 2 blank images. Please how can I edit your code to make it divide my image. I know you use it with a rgb image.
Thank you!
Image Analyst
Image Analyst on 8 Aug 2014
Edited: Image Analyst on 8 Aug 2014
A and B are probably double for some reason. Try
imshow(A, []);
imshow(B, []);
Start your own question if you need more help.

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 2 Feb 2013
im=imread('yourimage')
n=fix(size(im,1)/2)
A=im(1:n,:,:);
B=im(n+1:end,:,:)
imshow(A)
figure
imshow(B)
  10 Comments
suma g
suma g on 2 Apr 2018
sir u have given for left half and right half of the image... very helpful.i want to segment the face image into upper and bottom half of the face ... upper- forehead,eyes and eyebrows & lower- nose lips and chin CAN U GIVE ME SOME IDEA

Sign in to comment.

More Answers (1)

utkarsh kumar
utkarsh kumar on 26 Apr 2019
hi i am having a doubt in understanding the code.....in the below code
im=imread('yourimage')
n=fix(size(im,1)/2)
A=im(1:n,:,:);
B=im(n+1:end,:,:)
imshow(A)
figure
imshow(B)
What is the meaning of the highlighted one .
Thanks
  1 Comment
Image Analyst
Image Analyst on 26 Apr 2019
It says A is equal to rows 1 through n, all columns, all color rows. The colon means "all" if it's by itself, or "to" if it's in an expressions like 1:n.
So if n is the middle row, A will be the top half. Then B picks up from one row below the middle row. It says B equals all rows from one row below the middle row to the last row, and all columns and all color channels. If it's grayscale, having an extra : in there for the third index will not hurt - it will just ignore it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!