how to extract horizontal and vertical garadients of image.

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 个)

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
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;
i have used both above methods to calculate image gradients but both answers are totally different . which one is more appropriate ?

1 个评论

The one that gets the job done for you. I don't really care as long as it works.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by