How to divide an image in two blocks

조회 수: 4 (최근 30일)
Jack Sparrow
Jack Sparrow 2013년 2월 2일
댓글: Image Analyst 2019년 4월 26일
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
Nourou
Nourou 2014년 8월 8일
편집: Image Analyst 2014년 8월 8일
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 2014년 8월 8일
편집: Image Analyst 2014년 8월 8일
A and B are probably double for some reason. Try
imshow(A, []);
imshow(B, []);
Start your own question if you need more help.

댓글을 달려면 로그인하십시오.

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 2월 2일
im=imread('yourimage')
n=fix(size(im,1)/2)
A=im(1:n,:,:);
B=im(n+1:end,:,:)
imshow(A)
figure
imshow(B)
  댓글 수: 10
zohreh nezami
zohreh nezami 2017년 6월 22일
thank you
suma g
suma g 2018년 4월 2일
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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

utkarsh kumar
utkarsh kumar 2019년 4월 26일
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
Image Analyst
Image Analyst 2019년 4월 26일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 White에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by