【发布时间】:2018-04-10 11:52:54
【问题描述】:
我必须在 Google Vision API 的 CameraSource 中实现以构建相机并在捕获图像之前进行面部检测。现在我遇到了一些问题,所以我需要从 CameraSource 访问相机对象。
- 如何使用 CameraSource 提高或降低相机预览亮度?
这是我的 CameraSource 生成器
mCameraSource = new CameraSource.Builder(context, detector)
.setRequestedPreviewSize(640, 480)
.setFacing(CameraSource.CAMERA_FACING_FRONT)
.setRequestedFps(30.0f)
.build();
在这里我必须尝试从 mCameraSource 对象访问/获取相机。
Field[] declaredFields = CameraSource.class.getDeclaredFields();
for (Field field : declaredFields) {
if (field.getType() == Camera.class) {
field.setAccessible(true);
try {
Camera camera = (Camera) field.get(mCameraSource);
if (camera != null) {
Camera.Parameters params = camera.getParameters();
params.setExposureCompensation(1500);
camera.setParameters(params);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
但camera 仅返回 null,而我的第二个问题是如何进行亮度选项...
if (camera != null) {
Camera.Parameters params = camera.getParameters();
params.setExposureCompensation(1500);
camera.setParameters(params);
}
【问题讨论】:
-
@NishantBijaniA,我都试过了,但都没有改善
标签: java android camera surfaceview vision-api