MATLAB: ImgradientXY throwing errors when trying sameple code

edge detectiongradientimage processingImage Processing Toolbox

I'm playing around with the imgradientxy function
img2 = imread('image2.jpg');
[Gx,Gy] = imgradientxy(img2,'soble');
its exactly the same as the one in the documentations but it keeps throwing me the errors
Error using imgradientxy Expected input number 1, I, to be two-dimensional.

Best Answer

Maybe the code is the same, but the inputs are not. I assume your image2.jpg is an RGB image, while imgradientxy expects a gray scale or binary image. The latter have 2 dimensions, while imread creates a 3D array of the size [M x N x 3] for color images.
Related Question