im = im2double(imread('rice.png'));
[X Y]= meshgrid(1:size(im,1),1:size(im,2));
surf(zeros(size(im)),X,Y,im,'EdgeColor','none');
当我运行这个脚本它工作得很好,但当我试图将图像更改为RGB图像时,它给了我这2个错误
??? Error using ==> surf at 78 Data dimensions must agree.
Error in ==> CoOrdinating at 6 surf(zeros(size(im)),X,Y,im,'EdgeColor','none');
我试图将图像转换为灰度,但它不能与我合作并给我同样的错误
任何帮助?
答案 0 :(得分:0)
我有一种有趣的感觉,你忘记将灰度图像传递给其余的功能,因为我在第一次尝试运行此代码时也这样做了:P
im = im2double(imread('rice.png'));
if (isrgb (im))
im2 = rgb2gray (im);
else
im2 = im;
end
[X Y] = meshgrid (1:size(im2,1), 1:size(im2,2));
surf(zeros (size(im2)),X,Y,im2,'EdgeColor','none')
这对我有用(带有rgb图像和灰度图像)