读取regionprop用法的坐标文本文件 - Matlab

时间:2018-03-22 17:05:54

标签: matlab

我有一个坐标文本文件,我希望将其读入regionprop。我希望使用regionprop进行少量分析,如Centroid。我该怎么办?

代码:

filename = fullfile('E:/outline.txt');

fileID = fopen(filename);
C = textscan(fileID,'%d %d');
fclose(fileID);

stats = regionprops(C,'Centroid')

坐标文本文件内容如下:

88  10
87  11
87  12
88  13
88  14
92  21
93  22
93  23
94  24
95  25
100 33
101 34
102 34
103 34
103 33
103 32
103 31
103 30
103 29
103 28
103 27
102 26
102 25
101 24
101 23
100 22
100 21
100 20
99  19
99  18
94  12
93  12
92  12
91  11
90  11
89  10
88  10

2 个答案:

答案 0 :(得分:3)

为什么不使用2017b中引入的centroid

[x,y] = centroid(C);

如果你坚持使用regionprops(比直接操作多边形更慢,更准确),那么你就会误解区域道具的工作原理。区域道具适用于图像。您需要先创建一个图像,然后将图像传递给区域道具。

bw = roipoly(zeros(120), C(:,1), C(:,2));
stats = regionprops(bw);

答案 1 :(得分:0)

您可以找到有用的roipoly:这允许您将2d点/多边形顶点的列表转换为二进制掩码。
然后可以将得到的二进制掩码馈送到regionprops