%I have following script trying to produce the Gaussian mask Hx and Hy and get the gradient x (Gx) and gradient Y(GY) of image by convolving the mask to the image. Gx = conv2(Image,Hx), Gy = conv2(Image,Hy). but the result looks not correct. Gx looks like gradient y and Gy looks like gradient y. Is anybody familiar with gradient mask and give me any suggestion? thank you very much. Hx = zeros(13);Hy = zeros(13);sigmasqrd = 1/9;S = (-6:6);for i = 1:13 for j = 1:13 xpo = 2.0*exp(-(S(i).^2+S(j).^2)*sigmasqrd)*sigmasqrd; Hx(i,j)= S(i)*xpo; Hy(i,j)= S(j)*xpo; endend
John Williams answered .
2025-11-20
Add this code to the end of your code:
Hx
Hy
subplot(1,2,1);
imshow(Hx, []);
subplot(1,2,2);
imshow(Hy, []);
The code does produce kernels that should provide a gradient-like operation. Does that answer your question? There is also imgradient() in the Image Processing Toolbox if you want to use one of the standard gradient methods.