Чтобы исправить ошибку BufferOverflowException
, вы также должны изменить способ помещения значений в буфер imgData
. Поскольку мы изменили imgData
, чтобы вместо байтов вместо байтов содержалось байтов, нам также необходимо заменить putFloat
на put
в методе convertBitmapToByteBuffer(Bitmap bitmap)
:
imgData.put((byte) ((((val >> 16) & 0xFF)-IMAGE_MEAN)/IMAGE_STD));
imgData.put((byte) ((((val >> 8) & 0xFF)-IMAGE_MEAN)/IMAGE_STD));
imgData.put((byte) ((((val) & 0xFF)-IMAGE_MEAN)/IMAGE_STD));