1

我需要做的是在 MATLAB 中使用预定义大量 ROI imfreehand,然后将这些 ROI 放入脚本中。这真的并不难,因为我可以命名它们并继续绘制。但是我迷失的是如何在脚本中保存这些 ROI 而无需重新定义 ROIS。

基本上如何在脚本中保存 ROI?

4

2 回答 2

0

首先,您可以访问您绘制的任何线条的 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]

只需将其复制到您的脚本中即可。

于 2013-09-26T20:46:13.723 回答
0

来自 MATLAB 的文档:

figure, imshow('pout.tif');
h = imfreehand;
position = wait(h); %This blocks until finished

你也可以

pos = getPosition(h) %gets the position

我认为您正在询问如何将每组位置存储在一个变量中。为此,单元阵列可能是最方便的东西。我希望这会有所帮助。

于 2013-09-26T23:30:58.297 回答