2

MATLAB 是否具有内置函数来查找定义为(非整数值)点列表的多边形的质心和惯性矩等一般属性?

regionprops 对整数值点执行此任务,假设这些点表示图像中像素的索引。但我能找到的唯一处理非整数点列表的函数是 polyarea 和 inpolygon。

我现在的任务是创建一个 bwconncomp 结构,其中所有点乘以某个较大的值(例如 10,000),然后将其输入到 regionprops,但想知道是否有更优雅的解决方案。

4

3 回答 3

1

我不知道 MATLAB 中有一个函数可以为您执行此操作。

但是,poly2mask可能对您创建像素掩码以馈入 regionprops 有用。我还建议,如果您决定走这条路,请仔细测试离散化对结果的影响程度,这样您就不会创建疯狂的大型数组(并浪费时间)而不会真正提高准确性。

于 2010-06-28T13:36:43.743 回答
1

您应该在MathWorks File Exchange上查看HJ Sommer提交的POLYGEOM。看起来它具有您想要的所有属性测量值,以及描述代码中使用的公式的精美文档。

于 2010-06-28T14:37:01.513 回答
0

一种可能性是将计算外包给Java 拓扑套件。我不知道“惯性矩”,但它至少有一个质心方法。

于 2010-06-28T13:05:01.097 回答