bitmapToFloatBuffer() — pytorch Function Reference
Architecture documentation for the bitmapToFloatBuffer() function in TensorImageUtils.java from the pytorch codebase.
Entity Profile
Dependency Diagram
graph TD 146c6cff_527c_f43e_6edc_682205be9eff["bitmapToFloatBuffer()"] 075236f7_07e3_50da_aa45_e689eb75aec6["bitmapToFloat32Tensor()"] 075236f7_07e3_50da_aa45_e689eb75aec6 -->|calls| 146c6cff_527c_f43e_6edc_682205be9eff d8ee461f_74d8_b8d8_6126_45ec37c0d1e1["checkOutBufferCapacity()"] 146c6cff_527c_f43e_6edc_682205be9eff -->|calls| d8ee461f_74d8_b8d8_6126_45ec37c0d1e1 05a4bac3_dc7f_c9e5_0d8d_97a63304a618["checkNormMeanArg()"] 146c6cff_527c_f43e_6edc_682205be9eff -->|calls| 05a4bac3_dc7f_c9e5_0d8d_97a63304a618 e79553c3_aa4f_f1b9_50e7_c07930a30ab1["checkNormStdArg()"] 146c6cff_527c_f43e_6edc_682205be9eff -->|calls| e79553c3_aa4f_f1b9_50e7_c07930a30ab1 style 146c6cff_527c_f43e_6edc_682205be9eff fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
android/pytorch_android_torchvision/src/main/java/org/pytorch/torchvision/TensorImageUtils.java lines 70–114
public static void bitmapToFloatBuffer(
final Bitmap bitmap,
final int x,
final int y,
final int width,
final int height,
final float[] normMeanRGB,
final float[] normStdRGB,
final FloatBuffer outBuffer,
final int outBufferOffset,
final MemoryFormat memoryFormat) {
checkOutBufferCapacity(outBuffer, outBufferOffset, width, height);
checkNormMeanArg(normMeanRGB);
checkNormStdArg(normStdRGB);
if (memoryFormat != MemoryFormat.CONTIGUOUS && memoryFormat != MemoryFormat.CHANNELS_LAST) {
throw new IllegalArgumentException("Unsupported memory format " + memoryFormat);
}
final int pixelsCount = height * width;
final int[] pixels = new int[pixelsCount];
bitmap.getPixels(pixels, 0, width, x, y, width, height);
if (MemoryFormat.CONTIGUOUS == memoryFormat) {
final int offset_g = pixelsCount;
final int offset_b = 2 * pixelsCount;
for (int i = 0; i < pixelsCount; i++) {
final int c = pixels[i];
float r = ((c >> 16) & 0xff) / 255.0f;
float g = ((c >> 8) & 0xff) / 255.0f;
float b = ((c) & 0xff) / 255.0f;
outBuffer.put(outBufferOffset + i, (r - normMeanRGB[0]) / normStdRGB[0]);
outBuffer.put(outBufferOffset + offset_g + i, (g - normMeanRGB[1]) / normStdRGB[1]);
outBuffer.put(outBufferOffset + offset_b + i, (b - normMeanRGB[2]) / normStdRGB[2]);
}
} else {
for (int i = 0; i < pixelsCount; i++) {
final int c = pixels[i];
float r = ((c >> 16) & 0xff) / 255.0f;
float g = ((c >> 8) & 0xff) / 255.0f;
float b = ((c) & 0xff) / 255.0f;
outBuffer.put(outBufferOffset + 3 * i + 0, (r - normMeanRGB[0]) / normStdRGB[0]);
outBuffer.put(outBufferOffset + 3 * i + 1, (g - normMeanRGB[1]) / normStdRGB[1]);
outBuffer.put(outBufferOffset + 3 * i + 2, (b - normMeanRGB[2]) / normStdRGB[2]);
}
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does bitmapToFloatBuffer() do?
bitmapToFloatBuffer() is a function in the pytorch codebase.
What does bitmapToFloatBuffer() call?
bitmapToFloatBuffer() calls 3 function(s): checkNormMeanArg, checkNormStdArg, checkOutBufferCapacity.
What calls bitmapToFloatBuffer()?
bitmapToFloatBuffer() is called by 1 function(s): bitmapToFloat32Tensor.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free