onnxruntime-inference-examples 安卓使用
有大佬知道这段代码的意思吗
const val DIM_BATCH_SIZE = 1;
const val DIM_PIXEL_SIZE = 3;
const val IMAGE_SIZE_X = 224;
const val IMAGE_SIZE_Y = 224;
fun preProcess(bitmap: Bitmap): FloatBuffer {
val imgData = FloatBuffer.allocate(
DIM_BATCH_SIZE
* DIM_PIXEL_SIZE
* IMAGE_SIZE_X
* IMAGE_SIZE_Y
)
imgData.rewind()
val stride = IMAGE_SIZE_X * IMAGE_SIZE_Y
val bmpData = IntArray(stride)
bitmap.getPixels(bmpData, 0, bitmap.width, 0, 0, bitmap.width, bitmap.height)
for (i in 0..IMAGE_SIZE_X - 1) {
for (j in 0..IMAGE_SIZE_Y - 1) {
val idx = IMAGE_SIZE_Y * i + j
val pixelValue = bmpData[idx]
imgData.put(idx, (((pixelValue shr 16 and 0xFF) / 255f - 0.485f) / 0.229f))
imgData.put(idx + stride, (((pixelValue shr 8 and 0xFF) / 255f - 0.456f) / 0.224f))
imgData.put(idx + stride * 2, (((pixelValue and 0xFF) / 255f - 0.406f) / 0.225f))
}
}
imgData.rewind()
return imgData
}
我想把const val IMAGE_SIZE_X = 224;
const val IMAGE_SIZE_Y = 224;的值改成48,因为这边模型提供的input size是48.
imgData.put这块要怎么修改呢,有大佬懂吗,而且感觉是什么都没有也能识别出来东西,是不是官方给的demo需要做修改
图片多大就是多大,这里只需要管你的图片大小
这应该是图片的预处理过程