6

我正在开发一个程序,该程序允许用户在“涂鸦区域”中绘制一个数字,按下按钮,应用程序将使用神经网络分类器预测他输入的数字。

现在,为了训练神经网络,我使用了 MNIST 数据库,它指定了以下内容:“来自 NIST 的图像经过尺寸标准化以适合 20x20 像素框,同时保持其纵横比 [...] 图像以 28 x 28 为中心图像通过计算像素的质心”。

我面临的问题是,在将用户在涂鸦区域中绘制的数字调整为 20 x 20 的大小后,我需要计算像素的质心,以便将其居中在中间28 x 28 图像。

我该如何计算呢?

4

2 回答 2

6

“质心”(对于二进制图像)是一种有点复杂的说法,即“每个维度的平均值”。换句话说 - 取所有 x 坐标并将它们平均 - 你得到你的“质心”的 x 坐标,对于 y 也是一样的。

在python中,对于其中的数据X将是

center_of_mass = X.mean(axis=0)

如果您有像素的强度,则可以将它们用作“权重”,从而得出加权平均值,仅此而已。

于 2016-05-25T22:50:27.940 回答
-2

在这里,让我为您搜索...

您将与平均值的距离乘以每个像素的权重——对于您的工作,几乎可以肯定是 1.0。简而言之,取所有x坐标的平均值和所有y坐标的平均值;这给了你重心。

于 2016-05-25T22:51:57.533 回答