how to extract horizontal and vertical garadients of image.

4 次查看(过去 30 天)
What is mean by horizontal and vertical gradients ? Suppose if we have 41*41 matrix or image, then how we can compute its horizontal and vertical gradients ?

回答(3 个)

Anthony
Anthony 2014-1-27
Hi,
You can use the diff function. Let img be your image :
img = spiral(10); % For example
gradX = diff(img,1,1);
gradY = diff(img,1,2);
doc diff
Hope it helps,
Anthony

Image Analyst
Image Analyst 2014-1-27
You can imgradientxy)() in the Image Processing Toolbox. From the help:
I = imread('coins.png');
[Gx, Gy] = imgradientxy(I,'prewitt');
figure
imshowpair(Gx, Gy, 'montage');
title('Directional Gradients: x-direction, Gx (left), y-direction, Gy (right), using Prewitt method')
axis off;

pankaj chouthmal
pankaj chouthmal 2014-1-29
i have used both above methods to calculate image gradients but both answers are totally different . which one is more appropriate ?

Community Treasure Hunt

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

Start Hunting!

Translated by