在脚本中保存imfreehand ROI

时间:2013-09-26 19:36:19

标签: matlab image-processing roi

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

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

2 个答案:

答案 0 :(得分: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]

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

答案 1 :(得分:0)

来自MATLAB的文档:

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

你也可以

pos = getPosition(h) %gets the position

我想你问的是如何在一个变量中存储每组位置。为此,单元阵列可能是最方便的。我希望有所帮助。