【发布时间】:2023-03-14 09:10:01
【问题描述】:
我必须将此floatbuffer 打印为array,并且文档中有一个功能,但该功能不起作用。我不明白我做错了什么?
我尝试使用floatBuffer.toString(),但它确实打印了文档(ARCore)所描述的array。因此结果不正确。
Camera camera = frame.getCamera();
CameraIntrinsics cameraIntrinsics=camera.getImageIntrinsics();
float[] focal=cameraIntrinsics.getFocalLength();
Log.e("Focals",Arrays.toString(focal));
int [] getDiminsions=cameraIntrinsics.getImageDimensions();
Log.e("Dimensions ", Arrays.toString(getDiminsions));
backgroundRenderer.draw(frame);
PointCloud pointCloud=frame.acquirePointCloud();
FloatBuffer floatBuffer=pointCloud.getPoints();
FloatBuffer readonly=floatBuffer.asReadOnlyBuffer();
//final boolean res=readonly.hasArray();
final float[] points=floatBuffer.array();
//what should I do
根据文档 (ARCore),floatBuffer 中的每个点都有 4 个值:x、y、z 坐标和置信度值。
【问题讨论】:
-
能否提供异常堆栈跟踪(来自控制台/logcat)?
-
没有异常跟踪。
-
2019-03-28 17:22:25.605 24341-24360/com.google.ar.core.examples.java.augmentedimage E/AugmentedImageActivity:OpenGL 线程 java.lang.UnsupportedOperationException 上的异常java.nio.FloatBuffer.array(FloatBuffer.java:601)
标签: android arrays arcore floatbuffer