【问题标题】:keep new image when drawing lines by dragging the mouse in matlab通过在matlab中拖动鼠标来绘制线条时保留新图像
【发布时间】:2014-05-27 20:53:45
【问题描述】:
我是 matlab GUI 的新手。我想通过拖动鼠标来绘制线条。我找到了this issue,但我想用画线保存新图像。如果我运行这一行,它会显示相同的图像。
imshow(im);
如何获得带有画线的新图像并例如显示它?
【问题讨论】:
标签:
image
matlab
user-interface
drag-and-drop
draw
【解决方案1】:
您也可以直接在命令提示符中获取图像数据。在图形窗口上绘制完所有线条后,您可以使用 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
【解决方案2】:
您可以使用print 将图形打印到某个文件。不确定您是否想要精确复制您的线条和图像。在这种情况下,最好的方法可能是存储线的坐标和属性,并在以后想再次显示时使用它在图像上绘制它。