1.在安卓端对图像进行归一化
public static float[] normalizeBitmap(Bitmap source,int size,float mean,float std){
float[] output = new float[size * size * 3];
int[] intValues = new int[source.getHeight() * source.getWidth()];
source.getPixels(intValues, 0, source.getWidth(), 0, 0, source.getWidth(), source.getHeight());
for (int i = 0; i < intValues.length; ++i) {
final int val = intValues[i];
output[i * 3] = ((val & 0xFF) - mean)/std;
output[i * 3 + 1] = (((val & 65280) >> 8) - mean)/std;
output[i * 3 + 2] = (((val & 16711680 ) >> 16) - mean)/std;
}
return output;
}
需要注意的是,三个output[]对应的是三个RGB通道的值,这三的值的顺序与python代码中RGB三色的顺序要一值,不然会出现预测结果部分值异常。