如何解决Android camera2:如何从定义的cameraId获取图像?
我使用以下Android代码CameraManager
服务:
CameraManager cameraManager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
String[] cameraIdList = cameraManager.getCameraIdList();
现在,我想从此列表中的cameraIds
中获取一个图像,以便能够对该图像执行以下代码:
ShortBuffer shortDepthBuffer = image.getPlanes()[0].getBuffer().asShortBuffer();
如何从已定义的cameraId
获取此图像?
谢谢!
解决方法
没有Camera2
API可以做到的快速简便的方法。对于特定的cameraId
,您需要:
- 打开摄像头设备:
cameraManager.openCamera(...)
- 打开设备后,使用它来创建捕获会话:
cameraDevice.createCaptureSession(...)
- 为输出配置
ImageReader
并创建捕获请求:cameraDevice.createCaptureRequest(...)
- 使用
captureSession
处理您的捕获请求:captureSession.capture(...)
- 结果是,您将从为捕获输出配置的
Image
中获得ImageReader
。
因此,对于简单的相机应用,我建议改为在CameraX
处look。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。