【问题标题】:Get image data from trimesh plot从三角网格图中获取图像数据
【发布时间】:2017-04-06 01:48:26
【问题描述】:

我正在尝试获取使用trimesh 生成的绘图的像素。对于其他类型的地块,getimage 适用于此,但对于 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。有什么建议吗?

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

    您可以将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 在某些早期版本中没有。)谢谢!
    • @HansSchwabing 很高兴听到这个消息 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2014-05-24
    相关资源
    最近更新 更多