我写了这段代码,用于在我的图像上应用水平sobel滤镜来检测水平边缘 . 但是我有这样的错误:“使用边缘的错误预期输入数字1,I,是二维的 .

edge> parse_inputs中的错误(第482行)validateattributes(I,{'numeric','logical'},{'real','nonsparse','2d'},mfilename,'I',1); “

为什么它显示错误?

这是我的代码:

h = imread('chest.jpg');
imshow(h);
BW = edge (h,'sobel','vertical');