我目前正在 MATLAB 中使用 getframe()
和 frame2im
将绘图的图形转换为图像。
我刚刚意识到这几乎就像图形的屏幕截图一样,并且还考虑了所有轴和标签。
如何将图形(又名“绘图”)的内容转换为图像? 我真的不想先将它们全部保存到文件中。
最佳答案
您可以使用getframe/cdata
习惯用法。这样做的作用是,如果您在没有任何参数的情况下在焦点中的当前帧上调用getframe
,它将返回一个结构给您,其中包含一个名为的结构元素cdata
。这存储仅图形内容本身的RGB像素数组。不捕获轴和标签 - 仅捕获绘制在图形上的内容。
这是一个帮助您入门的示例:
im = imread('cameraman.tif');
imshow(im);
h = getframe;
out = h.cdata;
figure;
imshow(out); %// Should give you the contents within the imshow frame.
FWIW,我也在这里回答了同样的问题,尽管是针对不同的情况:keep new image when drawing lines by dragging the mouse in matlab
关于matlab - 在 MATLAB 中仅将图形内容转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23922176/