用matlab画三维图像时,z值全部是正的,但图上为什么会出现负值呢

2025年01月07日 06:13
有2个网友回答
网友(1):

这个是由于有的地方衰减很快,在边界线的时候已经达到了零值,但并没到图的边界,继续衰减,就出现了负值。你可以用下面的方法将负值去除
I1=imread('D:\tools\MATLAB\R2010a\myself\eage.bmp');
I2=rgb2gray(I1);% 彩色图像灰度化
I=im2uint8(I2);
figure(1);imshow(I,[low,high])
I为要显示的图像矩阵。[low high]为指定显示灰度图像的灰度范围。
高于high的像素被显示成白色;低于low的像素被显示成黑色;介于
High和low之间的像素被按比例拉伸后显示为各种等级的灰色

网友(2):

楼上是高手,学习下,隐函数的绘制还是挺难得 用patch函数就可以实现,要获得面的顶点编号,和顶点的坐标位置而以上的信息用isosurface就可以实现了希望