Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 在matlab中拖动鼠标绘制直线时保留新图像_Image_Matlab_User Interface_Drag And Drop_Draw - Fatal编程技术网

Image 在matlab中拖动鼠标绘制直线时保留新图像

Image 在matlab中拖动鼠标绘制直线时保留新图像,image,matlab,user-interface,drag-and-drop,draw,Image,Matlab,User Interface,Drag And Drop,Draw,我是MatlabGUI新手。我想通过拖动鼠标来画线。我找到了,但我想用绘制的线条保存新图像。如果我运行此行,它将显示相同的图像 imshow(im); 如何使用绘制的线获取新图像并显示它?您可以使用它将图形打印到某个文件中。不确定您是否希望精确复制线条和图像。在这种情况下,最好的方法可能是存储直线的坐标和属性,并在以后需要再次显示直线时使用这些坐标和属性在图像上绘制直线 您还可以在命令提示符下直接获取图像数据。在“体形”窗口上绘制完所有线条后,可以使用getframe,它可以对当前的焦点帧进行

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

imshow(im);

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

您可以使用它将图形打印到某个文件中。不确定您是否希望精确复制线条和图像。在这种情况下,最好的方法可能是存储直线的坐标和属性,并在以后需要再次显示直线时使用这些坐标和属性在图像上绘制直线

您还可以在命令提示符下直接获取图像数据。在“体形”窗口上绘制完所有线条后,可以使用
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

如果有帮助,请查看导出图工具-