通过在matlab中拖动鼠标来绘制线条时保留新图像

时间:2014-05-27 20:53:45

标签: image matlab user-interface drag-and-drop draw

我是matlab GUI的新手。我想通过拖动鼠标来绘制线条。我找到了this issue,但我希望用绘制的线条保存新图像。如果我运行此行,它将显示相同的图像。

imshow(im);

如何使用绘制的线条获取新图像,例如显示它?

2 个答案:

答案 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