Matlab 从trimesh绘图中获取图像数据

Matlab 从trimesh绘图中获取图像数据,matlab,matlab-figure,Matlab,Matlab Figure,我正在尝试获取使用trimesh生成的绘图的像素。对于其他类型的绘图,getimageFor适用于此,但对于trimesh则失败。例如: [x,y] = meshgrid(1:15,1:15); tri = delaunay(x,y); z = peaks(15); trimesh(tri,x,y,z) getimage(gca) % returns [0, 0] 我的用例要求我不实际显示该绘图,因此我不能使用getframe。有什么建议吗?您可以使用frame2im(getframe

我正在尝试获取使用
trimesh
生成的绘图的像素。对于其他类型的绘图,
getimage
For适用于此,但对于
trimesh
则失败。例如:

[x,y] = meshgrid(1:15,1:15);
tri = delaunay(x,y);
z = peaks(15);
trimesh(tri,x,y,z)

getimage(gca)    % returns [0, 0]
我的用例要求我不实际显示该绘图,因此我不能使用
getframe
。有什么建议吗?

您可以使用
frame2im(getframe(gca))
实现以下目的:

[x,y] = meshgrid(1:15,1:15);
tri = delaunay(x,y);
z = peaks(15);
trimesh(tri,x,y,z)
img = frame2im(getframe(gca));

根据问题,我实际上无法显示绘图,因此getframe无法工作。@HansSchwabing奇怪,您在
img
中得到的输出是什么?像
[0,0]
[]
?哎呀,我说得太快了!Getframe在2017b中可以工作(IIRC在一些早期版本中没有)。谢谢@听到这个消息,汉斯施瓦宾很高兴:)