android - Android Camera 2 API - 加速预览
问题描述
我正在 Android 设备上的 TextureView 上预览 USB 摄像头。我观察到渲染速度很慢。
场景是 - 有一个物体(比如一个瓶子),相机被聚焦。有彩灯(白、红、黄等)。我通过一一切换灯光来拍摄物体的照片。假设我打开任何灯,那么预览需要大约 2 秒才能反映对象上的颜色变化。
下面是代码。
SurfaceTexture texture = textureView.getSurfaceTexture();
assert texture != null;
Surface surface = new Surface(texture);
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
texture.setDefaultBufferSize(viewWidth,viewHeight);
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
captureRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
captureRequestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, CaptureRequest.CONTROL_SCENE_MODE_ACTION);
captureRequestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE,CaptureRequest.CONTROL_SCENE_MODE_HDR);
captureRequestBuilder.set(CaptureRequest.EDGE_MODE,CaptureRequest.EDGE_MODE_ZERO_SHUTTER_LAG);
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
captureRequestBuilder.addTarget(surface);
解决方案
我认为如果你使用TEMPLATE_PREVIEW
而不是TEMPLATE_STILL_CAPTURE
.
推荐阅读
- flutter - 我的小部件 build() 方法如何更新一行中的文本
- javascript - python socket-io emit() 直到执行后才发送时间
- image - 为什么直方图需要索引?
- google-cloud-firestore - 删除如何与 Cloud Firestore 缓存一起使用?
- c# - 如何在 .NET Core 5 中绑定动态对象?
- reactjs - 在中心模式下播放视频时反应 Slick 问题,因为原始视频顶部有多个视频
- python - 如果连续读取数据 3 次,则下一个数据将值更改 20 个数据
- php - 在 m1 mac 上安装旧的扩展 mongo php 驱动程序时找不到 stdlib.h
- amazon-web-services - 在 AWS 本地区域中创建 RDS 实例
- javascript - setRecordDataFor "Illegal set of identifier" 中的 EmberJS 数据断言