MATLAB Answers


magnitude and direction

Asked by munch kitty on 6 Feb 2012
Latest activity Answered by ANIMA V A on 24 Nov 2015

how to calculate the magnitude and direction value of the images in matlab?(code)


on 29 Mar 2013

Hi! I want to construct histogram of gradient magnitude and gradient direction for each image gradient.angle are quantized by 45 Please help

Please start a new Question for this problem.

Log in to comment.


3 Answers

Answer by Junaid
on 6 Feb 2012

what do you mean by direction of images. I hope you are talking about gradient value and direction (orientation) ?


yes absolutely.but the mag and dir value when we printed it shows for each pixel.i want the values for block by block.

i want to know how to divide image into blocks ????????

a=imread('image004.png'); a1=imresize(a,[300,340]);
ck1=1; cblock(:,:,:,1)=a1(1:100,1:100,:);
for ci1=1:3
for cj1=1:3
row1=80 ;
cblock(:,:,:,ck1)=a1( (cbs*(ci1-1)+1:cbs*(ci1-1)+cbs), ((row1+1)+(cj1-1)*80:row2+(cj1-1)*80),:);

we divide the image into 3X4.overlap of some pixels..u can also do non overlapping..

Log in to comment.

Answer by Junaid
on 6 Feb 2012

I think you want to compute the SIFT right ?

Anyway to divide the image into blocks, you can use following tip

in case you have difficulty you can share your code.

To find the gradient magnitude and orientation, the following code may help you.

angle = 360;
[GradientX,GradientY] = gradient(double(img));
    Gr = sqrt((GradientX.*GradientX)+(GradientY.*GradientY));
    index = GradientX == 0;
    GradientX(index) = 1e-5;
     YX = GradientY./GradientX;
      A = ((atan2(GradientY,GradientX)+pi)*180)/pi; 

A contains the orientation of each pixel.


junaki..the image block was posted above.for taht 12 blocks i have to calculate magnitude and orientation

i found the gradient and magnitude but i want to how to found gradient magnitude histogram?if u know help me

on 25 Mar 2013

Hi Junaid, may I know why parameter YX is calculated?

Log in to comment.

Answer by ANIMA V A on 24 Nov 2015

How to compute gradient in three different directions? Can any one help me i need to compute the gradient in 3 different directions for an image please help me


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Win prizes and improve your MATLAB skills

Play today