cuv*_*cuv 5 c++ machine-learning mnist
我正在开发一个程序,让用户在“涂鸦区域”中绘制一个数字,按下按钮,应用程序将使用神经网络分类器预测他输入的数字。
现在,为了训练神经网络,我使用了 MNIST 数据库,该数据库指定了以下内容:“来自 NIST 的图像经过尺寸标准化以适合 20x20 像素框,同时保留其纵横比 [...] 图像以 28 x 28 为中心通过计算像素的质心来获得图像”。
我面临的问题是,将用户在涂鸦区域中绘制的数字大小调整为 20 x 20 后,我需要计算像素的质心,以便将其居中28 x 28 图像。
我该如何计算?
“质心”(对于二值图像)是一种有点复杂的说法“每个维度的平均值”。换句话说 - 取所有 x 坐标并平均它们 - 你得到了“质心”的 x 坐标,y 也是如此。
在python中,对于其中的数据X将是
center_of_mass = X.mean(axis=0)
Run Code Online (Sandbox Code Playgroud)
如果您有像素的强度,您可以将它们用作“权重”,从而得出加权平均值,仅此而已。