我是matlab GUI的新手。我想通过拖动鼠标来绘制线条。我找到了this issue,但我希望用绘制的线条保存新图像。如果我运行此行,它将显示相同的图像。
imshow(im);
如何使用绘制的线条获取新图像,例如显示它?
答案 0 :(得分:0)
您可以使用print将图形打印到某个文件。不确定您是否想要准确再现您的线条和图像。在这种情况下,最好的方法可能是存储线的坐标和属性,并在以后想要再次显示时使用它在图像上绘制它。
答案 1 :(得分:0)
您还可以直接在命令提示符中获取图像数据。在图窗口上绘制所有线条后,您可以使用getframe
,其中会拍摄当前框架的快照。在这种情况下,这应该是带有绘制线条的图像。当您致电getframe
时,这将为您提供一个名为cdata
的元素的结构。这将为您提供图中所示内容的RGB数组(没有菜单栏......只是图形数据本身)。
示例:
im = imread('cameraman.tif');
imshow(im);
h = getframe;
out = h.cdata;
figure;
imshow(out); %// Should give you the same image as the figure