3

假设我有一个使用 8 连通性的带有链码 [1, 1, 1, 1, 3, 3, 3, 3, 5, 5, 5, 5, 7, 7, 7] 的旋转平方对象。我怎样才能得出它的面积,如像素数?

编辑:

我从边界像素导出链码。如果通过边界像素计算面积更容易,怎么办?

该算法应该能够找到边界包围的像素数(包括边界像素)。边界的形状可以是任意的,只要它是封闭的并且不与自身相交。

4

3 回答 3

2

任何多边形的面积都可以使用以下公式从其顶点计算:

A = 1/2 Sum(i = 1..n, x[i]*y[i+1] - x[i+1]*y[i])

资料来源:Wolfram MathWorld

于 2013-05-02T17:33:16.507 回答
1

公式
其中
n - 边界像素的数量,
(x_k, y_k) - 第 k 个边界像素的坐标(通过假设 x_1=0, y_1=0 从您的链码派生),
第 (n+1) 个像素是第一个像素.

于 2013-05-02T17:06:01.657 回答
0

参见维基百科:匹克定理

这是一个非凡的结果,仅当顶点在平面的某些表示中具有整数坐标时才适用。我认为这在你的情况下是正确的。如果是,它提供了一种非常简单的面积计算方法。

于 2013-05-03T08:23:24.400 回答