2016-05-25 178 views
2

我正在研究一個讓用戶在「塗鴉區域」繪製數字的程序,並且按下按鈕時,應用程序將預測他輸入的數字,使用神經網絡分類器。灰度圖像中像素的質心

現在,爲了訓練神經網絡,我使用了MNIST數據庫,該數據庫指定了以下內容:「來自NIST的圖像被歸一化爲適合20x20像素盒子,同時保留它們的縱橫比,圖像集中在通過計算像素的質心來計算28×28圖像「。

我面臨的問題是,在將用戶在塗鴉區域繪製的數字重新調整爲20 x 20的大小後,我需要計算像素的質心,以便將其居中28×28圖像的中間。

我該如何計算?

回答

3

「質量中心」(對於二值圖像)是一種有點複雜的說法,即「每個維度上的平均值」。換句話說 - 取所有的x座標並對它們進行平均 - 得到你的「質心」的x座標,對於y也是一樣。

在Python中,在X數據將是

center_of_mass = X.mean(axis=0) 

如果你有像素的強度,你可以用它們作爲‘砝碼’,從而導致了加權平均,僅此而已。

1

在這裏,讓我search that你...

您可以通過每個像素的權重乘以從平均的距離 - 幾乎可以肯定1.0你的工作。簡而言之,取所有座標的所有x座標和所有座標的平均值;這給了你質量的中心。