我想在 MATLAB中绘制连接点。
我的连接点来自"stats"的连接对象,其中每个"stat"来自BW regionprops结构。
我编写的代码可以工作,但它有很多“丑陋”,即使尝试了各种方法我也无法修复。
function plot_line( line )
a = cell2mat(line);
b = {a.Centroid};
matx = {};
maty = {};
for i = 1:size(b,2)
matx{end+1} = b{i}(1);
maty{end+1} = b{i}(2);
end
plot ( cell2mat(matx), cell2mat(maty) );
end
你能帮我把这段代码做得更好吗?这并不重要,因为我的代码运行良好,而且线条很短(<100 点),因此性能不是问题。
只是很高兴知道应该如何以正确的方式编写这个小函数,而不需要 for 循环和 3 次 cell2mat 调用。
在我的例子中:
- 线是
<1xn cell>
, line{1}
有一个财产'Centroid'
和line{i}.Centroid(1)
是 x 坐标和line{i}.Centroid(2)
是 y 坐标。
实际上,我需要的只是绘制line{i}.Centroid(1)
, line{i}.Centroid(2)
for i = 1:size(line,2)
,但我不知道如何。