如何解决如何更改 android 中的 whiteBalance 增益值?
我想获取当前增益的值并更改 RGB 增益的值。
在 iOS 中,Apple provides setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler
。
- (void)setWhiteBalanceGains:(AVCaptureWhiteBalanceGains)gains
{
NSError *error = nil;
if ( [self.captureDevice lockForConfiguration:&error] ) {
AVCaptureWhiteBalanceGains normalizedGains = [self normalizedGains:gains];
[self.captureDevice setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:normalizedGains completionHandler:nil];
[self.captureDevice unlockForConfiguration];
}
else {
NSLog( @"Could not lock device for configuration: %@",error );
}
}
- (AVCaptureWhiteBalanceGains)normalizedGains:(AVCaptureWhiteBalanceGains) g
{
AVCaptureWhiteBalanceGains gains = g;
gains.redGain = MAX(gains.redGain,1.0f);
gains.greenGain = MAX(gains.greenGain,3.0f);
gains.blueGain = MAX(gains.blueGain,18.0f);
return gains;
}
我们如何使用cameraX在android中实现这一点?
COLOR_CORRECTION_GAINS
COLOR_CORRECTION_MODE
我已检查 doc 有关频道控制。但是我们如何使用新控件更改颜色校正并重置 cameraX 预览?
解决方法
您可以使用Camera2Interop
:
fun buildPreview() : Preview {
val builder = Preview.Builder()
val camera2InterOp = Camera2Interop.Extender(builder)
camera2InterOp.setCaptureRequestOption(CaptureRequest. COLOR_CORRECTION_MODE,CameraMetadata.COLOR_CORRECTION_MODE_FAST)
return builder.build()
}
,
旧但仍在使用的是类 Camera.Parameters#getWhiteBalance
https://developer.android.com/reference/android/hardware/Camera.Parameters#getWhiteBalance()
使用类 Camera.Parameters 调用 getWhiteBalance。
较新的方法是使用 Capture 请求 https://developer.android.com/reference/android/hardware/camera2/CaptureRequest
这是 Camera2 的完整文档 https://developer.android.com/reference/android/hardware/camera2/package-summary
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。