Matlab 在脚本中保存徒手ROI
我需要做的是使用Matlab 在脚本中保存徒手ROI,matlab,image-processing,roi,Matlab,Image Processing,Roi,我需要做的是使用imfreehand在MATLAB中预定义大量ROI,然后将这些ROI放入脚本中。这真的不难,因为我可以命名它们,然后继续画画。但我迷茫的是如何在脚本中保存这些ROI,而不必重新定义ROI 基本上如何在脚本中保存ROI?首先,您可以访问绘制的任何线条的x、y坐标。调用imfreehand时,保存其句柄并使用它访问所绘制线条中的x、y数据 hf = imfreehand; % draw line, maybe insert pause here hl = findobj(hf,'T
imfreehand
在MATLAB中预定义大量ROI,然后将这些ROI放入脚本中。这真的不难,因为我可以命名它们,然后继续画画。但我迷茫的是如何在脚本中保存这些ROI,而不必重新定义ROI
基本上如何在脚本中保存ROI?首先,您可以访问绘制的任何线条的x、y坐标。调用
imfreehand
时,保存其句柄并使用它访问所绘制线条中的x、y数据
hf = imfreehand;
% draw line, maybe insert pause here
hl = findobj(hf,'Type','line','Tag','top line');
x = get(hl,'XData');
y = get(hl,'YData');
然后,您可以使用`mat2str2将变量保存为字符串,并将其放入脚本中:
>> x = 1:10;
>> sprintf('x = %s',mat2str(x))
ans =
x = [1 2 3 4 5 6 7 8 9 10]
只需将其复制到脚本中。来自MATLAB文档:
figure, imshow('pout.tif');
h = imfreehand;
position = wait(h); %This blocks until finished
你也可以
pos = getPosition(h) %gets the position
我想你是在问如何将每组位置存储在一个变量中。为此,单元阵列可能是最方便的方法。我希望这会有所帮助。这让我可以取出x和y数据,但有没有一种简单的方法可以将其放入脚本文件中?我不希望在脚本中使用imfreehand,因为我不希望每次运行程序时都必须绘制50个ROI。这解释得好一点吗?