0

我正在为我之前使用相机库的项目进行 camera2 api 更新。在使用相机库时,我可以拍摄 Jpeg 和 Raw (Bayer mipi 10rggb) 格式的图像,但目前我只能获取 Jpeg 格式的图像。当我查看相机地图的输出格式时characteristics = cameraManager.getCameraCharacteristics(cameraId); StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);,我看不到原始图像格式中的任何值。我还在 ImageFormat 类中搜索所有图像格式,但我看不到 Bayer Mipi 10RGGB 图像格式。不管怎样,当我将 raw10(也是 10 位原始格式)格式加载到 imageReader 中时,我得到一个空指针错误。但是,在旧的相机代码中,当我直接以 Bayer Mipi 10 RGGB 格式设置相机参数时,我可以得到这种格式的输出。

parameters.set("picture-format", CameraController.RAW_FORMAT); 
camera.setParameters(parameters); 

我真的不知道该怎么做才能解决这个问题。

4

1 回答 1

1

如果设备没有列出RAW 功能,那么您不能依赖它支持RAW_SENSOR格式。

我不确定你CameraController.RAW_FORMAT从哪里得到的值,但是对于已弃用的 camera1 API,没有公开的原始拜耳格式定义;所以您使用的是自定义扩展值。它可能适用于某些设备,但不能真正保证哪些设备。

因此,您的测试设备似乎可能通过旧 API 非正式地支持 RAW 格式,但它不支持公共 camera2 RAW_SENSOR 格式和解释它所需的元数据。

于 2021-08-18T02:13:44.207 回答