I need help on gradient mask.

Z
Zhongkui · Mar 3, 2022 · 1.9K views
Question
%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    
Expert Answer
Profile picture of John Williams
John Williams PhD Expert
Answered Nov 20, 2025

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.

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!