如果目標是儘可能保持線條/邊緣的質量,那麼使用Java縮放Android上的位圖圖像的最佳方法是什麼?目的是使用這些縮小的圖像來訓練神經網絡。Android Bitmap降尺寸
每個圖像將包含一個字符(在本例中爲中文)。下圖顯示了由用戶繪製的View對象上生成的原始圖像。我的目標是將此位圖圖像縮小爲30 x 30像素的分辨率。
我目前正在使用位圖createScaledBitmap方法,但我想知道是否有任何算法/方法優化這種字符縮小。
drawView.buildDrawingCache();
Bitmap b = Bitmap.createScaledBitmap(drawView.getDrawingCache(), 30, 30, false);
saveImage(b); // Saves image to disk.
drawView.destroyDrawingCache();
另一個因素可能是線寬和整體圖像尺寸之間的關係。線寬目前爲20f。我已經發現,在30f時,我開始出現大的黑暗塊,而在10f時,當我縮小比例時,我失去了很多信息。
還有另一個因素可能導致圖像大小。但是,如果我變得太大,那麼訓練網絡所需的計算量可能會變得太大。
Original image。
這裏是處理後的圖像 - 它看起來並不太壞,但我擔心與其他字符,也可能沒有足夠的變化對神經網絡學習。