通过检查CameraCharacteristics.SENSOR_INFO_SUPPORTED_RAW_FORMATS数组里是否存在10RGGB_MIPI格式来确定是否支持。代码示例如下:
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = manager.getCameraIdList()[0];
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
int[] rawFormats = characteristics.get(CameraCharacteristics.SENSOR_INFO_SUPPORTED_RAW_FORMATS);
boolean support10rggbMipi = false;
for (int format : rawFormats) {
if (format == ImageFormat.RAW10 && characteristics.get(CameraCharacteristics.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT) == CameraMetadata.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB) {
support10rggbMipi = true;
break;
}
}
if (support10rggbMipi) {
// 支持Bayer mipi 10rggb原始图像格式,可以进行相关处理
} else {
// 不支持Bayer mipi 10rggb原始图像格式,无法处理
}
} catch (CameraAccessException e) {
e.printStackTrace();
}