我有一个图像,使用颜色显示图像的深度,其中较暖的颜色代表图像的较近部分,较冷的颜色代表较远的物体。我想将此图像表示为显示深度的冲浪图。我必须在java中这样做,但我认为在继续之前首先更容易理解Matlab中的过程。我尝试使用图像的大小并绘制它,但它一直给我错误。任何帮助将不胜感激。
我尝试了冲浪功能:
`img = imread('sample.png');
grayImage = rgb2gray(img);
surf(double(img))`
并收到此错误:
>> surf
Attempt to execute SCRIPT surf as a function:
C:\Users\kuchin\Documents\MATLAB\surf.m
Error in surf (line 3)
surf(double(img))
答案 0 :(得分:2)
修改强>
正如您在自己的帖子中的评论中所看到的,您的问题是您通过另一个surf.m文件覆盖了冲浪功能。不要使用与Matlab构建的函数相同的名称命名您的matlab文件。转到C:\Users\kuchin\Documents\MATLAB\surf.m
并将其命名为mysurf.m
。它将解决您的问题。
原始帖子
如果你有双打的深度图像(MxN)
surf(img);
如果他们是uint8
surf(double(img));
会做的伎俩。 测试代码:
img=imread( 'coins.png' );
surf(double(img))
输出: