public final class CameraCharacteristics
extends CameraMetadata<Key<?>>
java.lang.Object | ||
↳ | android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacteristics.Key<?>> | |
↳ | android.hardware.camera2.CameraCharacteristics |
描述 CameraDevice
的属性。
这些属性对于给定的CameraDevice是固定的,并且可以通过 CameraManager
接口与 getCameraCharacteristics(String)
进行查询。
CameraCharacteristics
对象是不可变的。
也可以看看:
Nested classes |
|
---|---|
class |
CameraCharacteristics.Key<T> 一个 |
Inherited constants |
---|
From class android.hardware.camera2.CameraMetadata
|
Fields |
|
---|---|
public static final Key<int[]> |
COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES 本相机设备支持的 |
public static final Key<int[]> |
CONTROL_AE_AVAILABLE_ANTIBANDING_MODES 用于自动曝光模式antibanding名单 |
public static final Key<int[]> |
CONTROL_AE_AVAILABLE_MODES 本相机设备支持的 |
public static final Key<Range[]<Integer>> |
CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES 本相机设备支持的 |
public static final Key<Range<Integer>> |
CONTROL_AE_COMPENSATION_RANGE 最高和最低曝光补偿值 |
public static final Key<Rational> |
CONTROL_AE_COMPENSATION_STEP 可以改变曝光补偿的最小步骤。 |
public static final Key<Boolean> |
CONTROL_AE_LOCK_AVAILABLE 相机设备是否支持 具有MANUAL_SENSOR功能或BURST_CAPTURE功能的设备将始终列出 |
public static final Key<int[]> |
CONTROL_AF_AVAILABLE_MODES 本相机设备支持的 |
public static final Key<int[]> |
CONTROL_AVAILABLE_EFFECTS 本相机设备支持的 |
public static final Key<int[]> |
CONTROL_AVAILABLE_MODES 本相机设备支持的 |
public static final Key<int[]> |
CONTROL_AVAILABLE_SCENE_MODES 本相机设备支持的 |
public static final Key<int[]> |
CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES 本相机设备支持的 |
public static final Key<int[]> |
CONTROL_AWB_AVAILABLE_MODES 本相机设备支持的 |
public static final Key<Boolean> |
CONTROL_AWB_LOCK_AVAILABLE 相机设备是否支持 具有MANUAL_POST_PROCESSING功能或BURST_CAPTURE功能的设备将始终列出 |
public static final Key<Integer> |
CONTROL_MAX_REGIONS_AE 自动曝光(AE)程序可以使用的测光区域的最大数量。 |
public static final Key<Integer> |
CONTROL_MAX_REGIONS_AF 自动对焦(AF)程序可以使用的测光区域的最大数量。 |
public static final Key<Integer> |
CONTROL_MAX_REGIONS_AWB 自动白平衡(AWB)例程可以使用的测光区域的最大数量。 |
public static final Key<Range<Integer>> |
CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE 本相机设备支持的 |
public static final Key<Boolean> |
DEPTH_DEPTH_IS_EXCLUSIVE 指示捕获请求是否可同时针对DEPTH16 / DEPTH_POINT_CLOUD输出和普通彩色输出(如YUV_420_888,JPEG或RAW)。 |
public static final Key<int[]> |
EDGE_AVAILABLE_EDGE_MODES 本相机设备支持的 |
public static final Key<Boolean> |
FLASH_INFO_AVAILABLE 该相机设备是否具有闪光灯组件。 |
public static final Key<int[]> |
HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES 本相机设备支持的 |
public static final Key<Integer> |
INFO_SUPPORTED_HARDWARE_LEVEL 通常将整套相机设备功能分类。 |
public static final Key<Size[]> |
JPEG_AVAILABLE_THUMBNAIL_SIZES 本相机设备支持的 |
public static final Key<Integer> |
LENS_FACING 相机面对相对于设备屏幕的方向。 |
public static final Key<float[]> |
LENS_INFO_AVAILABLE_APERTURES 本相机设备支持的 |
public static final Key<float[]> |
LENS_INFO_AVAILABLE_FILTER_DENSITIES 本相机设备支持的 |
public static final Key<float[]> |
LENS_INFO_AVAILABLE_FOCAL_LENGTHS 本相机设备支持的 |
public static final Key<int[]> |
LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION 本相机设备支持的 |
public static final Key<Integer> |
LENS_INFO_FOCUS_DISTANCE_CALIBRATION 镜头焦距校准质量。 |
public static final Key<Float> |
LENS_INFO_HYPERFOCAL_DISTANCE 此镜头的超焦距。 |
public static final Key<Float> |
LENS_INFO_MINIMUM_FOCUS_DISTANCE 距镜头最前表面最近的距离可以变成清晰的焦点。 |
public static final Key<float[]> |
LENS_INTRINSIC_CALIBRATION 此摄像机设备的固有校准参数。 |
public static final Key<float[]> |
LENS_POSE_ROTATION 摄像机相对于传感器坐标系的方向。 |
public static final Key<float[]> |
LENS_POSE_TRANSLATION 相机光学中心的位置。 |
public static final Key<float[]> |
LENS_RADIAL_DISTORTION 校正系数以校正此摄像机设备的径向和切向镜头失真。 |
public static final Key<int[]> |
NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES 本相机设备支持的 |
public static final Key<Integer> |
REPROCESS_MAX_CAPTURE_STALL 重新处理捕获请求引入的最大摄像机捕获流水线失速(以帧计数为单位)。 |
public static final Key<int[]> |
REQUEST_AVAILABLE_CAPABILITIES 本相机设备发布的功能列表完全支持。 |
public static final Key<Integer> |
REQUEST_MAX_NUM_INPUT_STREAMS 摄像机设备可同时配置和使用的任何类型输入流的最大数量。 |
public static final Key<Integer> |
REQUEST_MAX_NUM_OUTPUT_PROC 相机设备可以同时配置和使用任何已处理(但不失速)格式的不同类型输出流的最大数量。 |
public static final Key<Integer> |
REQUEST_MAX_NUM_OUTPUT_PROC_STALLING 相机设备可以同时配置和使用任何处理(和拖延)格式的不同类型输出流的最大数量。 |
public static final Key<Integer> |
REQUEST_MAX_NUM_OUTPUT_RAW 摄像机设备可同时为任何 |
public static final Key<Integer> |
REQUEST_PARTIAL_RESULT_COUNT 定义结果将由多少个子组件组成。 |
public static final Key<Byte> |
REQUEST_PIPELINE_MAX_DEPTH 指定帧从暴露到帧可用时的最大流水线阶段数。 |
public static final Key<Float> |
SCALER_AVAILABLE_MAX_DIGITAL_ZOOM 对于 |
public static final Key<Integer> |
SCALER_CROPPING_TYPE 此相机设备支持的裁切类型。 |
public static final Key<StreamConfigurationMap> |
SCALER_STREAM_CONFIGURATION_MAP 此相机设备支持的可用流配置; 还包括每种格式/尺寸组合的最小帧持续时间和停顿持续时间。 |
public static final Key<int[]> |
SENSOR_AVAILABLE_TEST_PATTERN_MODES 本相机设备支持的 |
public static final Key<BlackLevelPattern> |
SENSOR_BLACK_LEVEL_PATTERN 每个彩色滤光片排列(CFA)镶嵌通道的固定黑色电平偏移量。 |
public static final Key<ColorSpaceTransform> |
SENSOR_CALIBRATION_TRANSFORM1 每个设备的校准转换矩阵,从参考传感器色彩空间映射到实际设备传感器色彩空间。 |
public static final Key<ColorSpaceTransform> |
SENSOR_CALIBRATION_TRANSFORM2 每个设备的校准转换矩阵,从参考传感器色彩空间映射到实际设备传感器色彩空间(这是原始缓冲区数据的色彩空间)。 |
public static final Key<ColorSpaceTransform> |
SENSOR_COLOR_TRANSFORM1 将颜色值从CIE XYZ颜色空间转换为参考传感器颜色空间的矩阵。 |
public static final Key<ColorSpaceTransform> |
SENSOR_COLOR_TRANSFORM2 将颜色值从CIE XYZ颜色空间转换为参考传感器颜色空间的矩阵。 |
public static final Key<ColorSpaceTransform> |
SENSOR_FORWARD_MATRIX1 将参考传感器色彩空间中的白色平衡相机色彩转换为具有D50白点的CIE XYZ色彩空间的矩阵。 |
public static final Key<ColorSpaceTransform> |
SENSOR_FORWARD_MATRIX2 将参考传感器色彩空间中的白色平衡相机色彩转换为具有D50白点的CIE XYZ色彩空间的矩阵。 |
public static final Key<Rect> |
SENSOR_INFO_ACTIVE_ARRAY_SIZE 已经应用了在任何几何失真校正之后对应于有效像素的图像传感器的区域。 |
public static final Key<Integer> |
SENSOR_INFO_COLOR_FILTER_ARRANGEMENT 传感器上彩色滤光片的排列; 以读数顺序表示传感器左上角2x2部分的颜色。 |
public static final Key<Range<Long>> |
SENSOR_INFO_EXPOSURE_TIME_RANGE 本相机设备支持的图像曝光时间范围为 |
public static final Key<Boolean> |
SENSOR_INFO_LENS_SHADING_APPLIED 从相机设备输出的RAW图像是否进行镜头阴影校正。 |
public static final Key<Long> |
SENSOR_INFO_MAX_FRAME_DURATION 此相机设备支持 |
public static final Key<SizeF> |
SENSOR_INFO_PHYSICAL_SIZE 全像素阵列的物理尺寸。 |
public static final Key<Size> |
SENSOR_INFO_PIXEL_ARRAY_SIZE 全像素阵列的尺寸,可能包括黑色校准像素。 |
public static final Key<Rect> |
SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 图像传感器的区域在应用任何几何失真校正之前对应于有效像素。 |
public static final Key<Range<Integer>> |
SENSOR_INFO_SENSITIVITY_RANGE 本相机设备支持的 |
public static final Key<Integer> |
SENSOR_INFO_TIMESTAMP_SOURCE 传感器捕获的时间基准源开始时间戳。 |
public static final Key<Integer> |
SENSOR_INFO_WHITE_LEVEL 传感器输出的最大原始值。 |
public static final Key<Integer> |
SENSOR_MAX_ANALOG_SENSITIVITY 纯粹通过模拟增益实现的最大灵敏度。 |
public static final Key<Rect[]> |
SENSOR_OPTICAL_BLACK_REGIONS 指示传感器光屏蔽黑色像素区域的不相交矩形的列表。 |
public static final Key<Integer> |
SENSOR_ORIENTATION 顺时针角度,通过该角度,输出图像需要在设备屏幕上以原始方向旋转直立。 |
public static final Key<Integer> |
SENSOR_REFERENCE_ILLUMINANT1 计算时使用的作为场景光源的标准基准光源 |
public static final Key<Byte> |
SENSOR_REFERENCE_ILLUMINANT2 计算时使用的作为场景光源的标准基准光源 |
public static final Key<int[]> |
SHADING_AVAILABLE_MODES 本相机设备支持的 |
public static final Key<int[]> |
STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES 本相机设备支持的 |
public static final Key<boolean[]> |
STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES 本相机设备支持的 |
public static final Key<int[]> |
STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES 本相机设备支持的 |
public static final Key<Integer> |
STATISTICS_INFO_MAX_FACE_COUNT 可同时检测的最大面数。 |
public static final Key<Integer> |
SYNC_MAX_LATENCY 在请求(不同于前一个请求)之后可以发生的最大帧数已经提交,并且在结果的状态变为同步之前。 |
public static final Key<int[]> |
TONEMAP_AVAILABLE_TONE_MAP_MODES 本相机设备支持的 |
public static final Key<Integer> |
TONEMAP_MAX_CURVE_POINTS 色调贴图曲线中支持点的最大数量,可用于 |
Public methods |
|
---|---|
<T> T |
get(Key<T> key) 获取相机特性字段值。 |
List<Key<?>> |
getAvailableCaptureRequestKeys() 返回 |
List<Key<?>> |
getAvailableCaptureResultKeys() 返回此 |
List<Key<?>> |
getKeys() 返回此映射中包含的键的列表。 |
Inherited methods |
|
---|---|
From class android.hardware.camera2.CameraMetadata
|
|
From class java.lang.Object
|
Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES
本相机设备支持的 android.colorCorrection.aberrationMode
像差校正模式列表。
该键列出了android.colorCorrection.aberrationMode
的有效模式。 如果设备没有像差校正模式可用,该列表将仅包含OFF模式。 所有相机设备将支持OFF或FAST模式。
支持MANUAL_POST_PROCESSING功能的相机设备将始终列出OFF模式。 这包括所有FULL级别的设备。
LEGACY设备将始终仅支持FAST模式。
有效值的范围:
android.colorCorrection.aberrationMode
列出的任何值
此密钥可在所有设备上使用。
Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES
用于自动曝光模式antibanding名单 android.control.aeAntibandingMode
由该相机设备支持。
并非所有的自动曝光防带模式都可以由给定的相机设备支持。 此字段列出了应用程序可能通过android.control.aeAntibandingMode
控件请求此摄像机设备的有效防带模式。
有效值的范围:
在android.control.aeAntibandingMode
列出的任何值
此密钥可在所有设备上使用。
也可以看看:
Key<int[]> CONTROL_AE_AVAILABLE_MODES
本相机设备支持的 android.control.aeMode
的自动曝光模式列表。
并非所有的自动曝光模式都可能由特定的相机设备支持,特别是在没有闪光灯可用的情况下。 此条目列出了此摄像头设备的有效模式android.control.aeMode
。
所有摄像机设备都支持ON,所有带闪光灯的摄像机设备都支持ON_AUTO_FLASH和ON_ALWAYS_FLASH。
全模式相机设备始终支持关闭模式,从而可以控制相机曝光时间,灵敏度和帧持续时间。
LEGACY模式相机设备从不支持OFF模式。 如果有限模式设备支持MANUAL_SENSOR功能,则它们支持OFF。
有效值的范围:
android.control.aeMode
列出的任何值
此密钥可在所有设备上使用。
也可以看看:
Key<Range[]<Integer>> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
本相机设备支持的 android.control.aeTargetFpsRange
的帧速率范围列表。
对于LEGACY级或以上的设备:
用于恒定帧率记录,对于每个正常 CamcorderProfile
,即,一个 CamcorderProfile
具有 quality
在范围[ QUALITY_LOW
, QUALITY_2160P
],如果配置文件是由设备支持的,并具有 videoFrameRate
x
,该列表将总是包括( x
, x
)。
此外,相机装置必须要么不支持任何 CamcorderProfile
,或支撑至少一个正常 CamcorderProfile
具有 videoFrameRate
x
> = 24。
对于限制级或以上的设备:
min
, max
) and (max
, max
) where min
<= 15 and max
= the maximum output frame rate of the maximum YUV_420_888 output size.单位 :每秒帧数(FPS)
此密钥可在所有设备上使用。
也可以看看:
Key<Range<Integer>> CONTROL_AE_COMPENSATION_RANGE
最高和最低曝光补偿值 android.control.aeExposureCompensation
,在计数 android.control.aeCompensationStep
,由该相机设备支持。
有效值的范围:
范围[0,0]表示曝光补偿不受支持。
对于 range != [0, 0]
和全部设备,如果支持曝光补偿( range != [0, 0]
),范围必须符合以下要求:
Min.exposure compensation *
android.control.aeCompensationStep
<= -2 EV
Max.exposure compensation *
android.control.aeCompensationStep
>= 2 EV
LEGACY设备可能支持比此更小的范围。
此密钥可在所有设备上使用。
Key<Rational> CONTROL_AE_COMPENSATION_STEP
可以改变曝光补偿的最小步骤。
这是android.control.aeExposureCompensation
的单位。 例如,如果该键具有1/2
的值,则对于android.control.aeExposureCompensation
的-2
的设置意味着自动曝光例程的目标EV偏移是android.control.aeExposureCompensation
。
一个EV补偿单位将拍摄图像的亮度改变两倍。 +1 EV使图像亮度增加一倍,而-1 EV减半图像亮度。
单位 :曝光值(EV)
此密钥可在所有设备上使用。
Key<Boolean> CONTROL_AE_LOCK_AVAILABLE
相机设备是否支持 android.control.aeLock
具有MANUAL_SENSOR功能或BURST_CAPTURE功能的设备将始终列出true
。 这包括完整的设备。
此密钥可在所有设备上使用。
也可以看看:
Key<int[]> CONTROL_AF_AVAILABLE_MODES
本相机设备支持的 android.control.afMode
的自动对焦(AF)模式列表。
并非所有的自动对焦模式都可以由给定的相机设备支持。 此条目列出了此摄像机设备的有效模式android.control.afMode
。
所有
和全模式相机设备都将支持关闭模式,并且所有具有可调 android.lens.info.minimumFocusDistance
> 0
单元( android.lens.info.minimumFocusDistance
> 0
)的相机设备都将支持自动模式。android.lens.info.minimumFocusDistance
> 0
只有当它们支持对焦到无穷远时(也可以通过设置 android.lens.focusDistance
到 0.0f
),LEGACY设备才会支持关闭模式。
有效值的范围:
在android.control.afMode
列出的任何值
此密钥可在所有设备上使用。
Key<int[]> CONTROL_AVAILABLE_EFFECTS
本相机设备支持的 android.control.effectMode
的色彩效果列表。
此列表包含可应用于相机设备生成的图像的颜色效果模式。 预计各种设备的实现不会一致。 如果设备没有可用的颜色效果模式,则仅列出OFF。
仅当android.control.mode
!= OFF时才会应用颜色效果。 关闭始终包含在此列表中。
此控件不影响其他控制例程的操作,如自动曝光,白平衡或对焦。
有效值的范围:
在android.control.effectMode
列出的任何值
此密钥可在所有设备上使用。
也可以看看:
Key<int[]> CONTROL_AVAILABLE_MODES
本相机设备支持的 android.control.mode
的控制模式列表。
此列表包含可为相机设备设置的控制模式。 LEGACY模式设备将始终支持AUTO模式。 限制和FULL设备将始终支持OFF,AUTO模式。
有效值的范围:
android.control.mode
列出的任何值
此密钥可在所有设备上使用。
也可以看看:
Key<int[]> CONTROL_AVAILABLE_SCENE_MODES
本相机设备支持的 android.control.sceneMode
的场景模式列表。
此列表包含可为相机设备设置的场景模式。 这里只包括已经为相机设备完全实施的场景模式。 预计各种设备的实现不会一致。
如果相机设备不支持任何场景模式,则会将其设置为DISABLED。 否则DISABLED将不会被列出。
如果支持人脸检测,始终列出
(即 android.statistics.info.maxFaceCount
> 0
)。android.statistics.info.maxFaceCount
> 0
有效值的范围:
在android.control.sceneMode
列出的任何值
此密钥可在所有设备上使用。
Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES
本相机设备支持的 android.control.videoStabilizationMode
的视频稳定模式列表。
OFF将一直列出。
有效值的范围:
在android.control.videoStabilizationMode
列出的任何值
此密钥可在所有设备上使用。
Key<int[]> CONTROL_AWB_AVAILABLE_MODES
本相机设备支持的 android.control.awbMode
的自动白平衡模式列表。
并非所有的自动白平衡模式都可以由给定的相机设备支持。 此条目列出了此摄像机设备的有效模式android.control.awbMode
。
所有相机设备都将支持ON模式。
支持MANUAL_POST_PROCESSING功能的相机设备将始终支持OFF模式,该模式通过使用android.colorCorrection.transform
和android.colorCorrection.gains
( android.colorCorrection.mode
必须设置为TRANSFORM_MATRIX)来实现应用程序控制白平衡。 这包括所有FULL模式相机设备。
有效值的范围:
在android.control.awbMode
列出的任何值
此密钥可在所有设备上使用。
Key<Boolean> CONTROL_AWB_LOCK_AVAILABLE
相机设备是否支持 android.control.awbLock
具有MANUAL_POST_PROCESSING功能或BURST_CAPTURE功能的设备将始终列出true
。 这包括完整的设备。
此密钥可在所有设备上使用。
也可以看看:
Key<Integer> CONTROL_MAX_REGIONS_AE
自动曝光(AE)程序可以使用的测光区域的最大数量。
这对应于 android.control.aeRegions
允许的最大元素 android.control.aeRegions
。
有效值的范围:
值将大于等于0.对于全功能设备,此值将大于等于1。
此密钥可在所有设备上使用。
也可以看看:
Key<Integer> CONTROL_MAX_REGIONS_AF
自动对焦(AF)程序可以使用的测光区域的最大数量。
这对应于 android.control.afRegions
允许的最大元素 android.control.afRegions
。
有效值的范围:
值将大于等于0.对于全功能设备,此值将大于等于1。
此密钥可在所有设备上使用。
也可以看看:
Key<Integer> CONTROL_MAX_REGIONS_AWB
自动白平衡(AWB)例程可以使用的测光区域的最大数量。
这对应于 android.control.awbRegions
允许的最大元素 android.control.awbRegions
。
有效值的范围:
值将大于等于0。
此密钥可在所有设备上使用。
也可以看看:
Key<Range<Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
本相机设备支持的 android.control.postRawSensitivityBoost
增强范围。
设备支持后期RAW灵敏度提升将宣传 android.control.postRawSensitivityBoost
键控制后期RAW灵敏度提升。
对于不支持任何RAW格式输出的设备,该密钥将为null
。 对于支持RAW格式输出的设备,该键始终存在,如果设备不支持后期RAW灵敏度提升,则会在此键中列出(100, 100)
。
单位 :ISO算术单位,与 android.sensor.sensitivity
相同
可选 - 在某些设备上此值可能为 null
。
Key<Boolean> DEPTH_DEPTH_IS_EXCLUSIVE
指示捕获请求是否可同时针对DEPTH16 / DEPTH_POINT_CLOUD输出和普通彩色输出(如YUV_420_888,JPEG或RAW)。
如果TRUE,包括单个捕捉请求中的深度和颜色输出不被支持。 应用程序必须交错颜色和深度请求。 如果FALSE,则单个请求可以以两种类型的输出为目标。
通常,这种限制存在于需要发射特定图案或光波长以测量深度值的相机设备上,这导致在深度测量期间彩色图像被破坏。
可选 - 在某些设备上此值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<int[]> EDGE_AVAILABLE_EDGE_MODES
本相机设备支持的 android.edge.mode
的边缘增强模式列表。
全功能摄像头设备必须始终支持关闭; 支持YUV_REPROCESSING或PRIVATE_REPROCESSING的相机设备将列出ZERO_SHUTTER_LAG; 所有设备将列出FAST。
有效值的范围:
在android.edge.mode
列出的任何值
可选 - 在某些设备上该值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<Boolean> FLASH_INFO_AVAILABLE
该相机设备是否具有闪光灯组件。
如果没有闪光灯可用,将是 false
。
如果没有闪光灯装置,则任何闪光灯控制装置都不会做任何事情。 此密钥可在所有设备上使用。
Key<int[]> HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES
本相机设备支持的热像素校正模式列表 android.hotPixel.mode
。
FULL模式摄像头设备将始终支持FAST。
有效值的范围:
android.hotPixel.mode
列出的任何值
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<Integer> INFO_SUPPORTED_HARDWARE_LEVEL
通常将整套相机设备功能分类。
支持的硬件级别是摄像设备功能的高级描述,将多种功能汇总到一个领域。 每个级别都增加了前一级的附加功能,并且始终是前一级的严格超集。 订购是LEGACY < LIMITED < FULL < LEVEL_3
。
从LEVEL_3
开始,等级枚举保证也在增加数值。 要检查给定的设备是否至少在给定的硬件级别,可以使用以下代码片段:
// Returns true if the device supports the required hardware level, or better.
boolean isHardwareLevelSupported(CameraCharacteristics c, int requiredLevel) {
int deviceLevel = c.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
if (deviceLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) {
return requiredLevel == deviceLevel;
}
// deviceLevel is not LEGACY, can use numerical sort
return requiredLevel <= deviceLevel;
}
在高层次上,这些层次是:
LEGACY
devices operate in a backwards-compatibility mode for older Android devices, and have very limited capabilities.LIMITED
devices represent the baseline feature set, and may also include additional capabilities that are subsets of FULL
.FULL
devices additionally support per-frame manual control of sensor, flash, lens and post-processing settings, and image capture at a high rate.LEVEL_3
devices additionally support YUV reprocessing and RAW image capture, along with additional output stream configurations.有关支持的功能的完整说明,请参阅各个级别的枚举。 如果需要, android.request.availableCapabilities
条目描述设备在更细粒度级别的功能。 另外,许多控件都有其可用的设置或范围,在单个CameraCharacteristics
条目中定义。
某些功能不属于任何特定硬件级别或功能,必须单独进行查询。 这些包括:
android.sensor.info.timestampSource
==
REALTIME)android.lens.info.focusDistanceCalibration
==
CALIBRATED)android.statistics.info.availableFaceDetectModes
)android.lens.info.availableOpticalStabilization
, android.control.availableVideoStabilizationModes
)可能的值:
此密钥可在所有设备上使用。
也可以看看:
CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES
LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION
LENS_INFO_FOCUS_DISTANCE_CALIBRATION
REQUEST_AVAILABLE_CAPABILITIES
SENSOR_INFO_TIMESTAMP_SOURCE
STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES
INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
INFO_SUPPORTED_HARDWARE_LEVEL_FULL
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
INFO_SUPPORTED_HARDWARE_LEVEL_3
Key<Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES
本相机设备支持的 android.jpeg.thumbnailSize
的JPEG缩略图尺寸列表。
此列表将至少包含一个非零分辨率,另加 (0,0)
用于指示不应生成缩略图。
以下条件将满足这个尺寸列表:
(0, 0)
sizes will have non-zero widths and heights. This key is available on all devices.也可以看看:
Key<float[]> LENS_INFO_AVAILABLE_APERTURES
本相机设备支持的 android.lens.aperture
的光圈尺寸值列表。
如果相机设备不支持可变镜头光圈,则此列表将只包含一个值,即固定光圈大小。
如果相机设备支持可变光圈,此列表中的光圈值将按照升序排列。
单位 :光圈f数
可选 - 在某些设备上,此值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES
本相机设备支持的 android.lens.filterDensity
的中性密度滤镜值列表。
如果此摄像机设备不支持中性密度滤镜,则此列表将仅包含0.否则,此列表将包括摄像机设备支持的每个滤镜密度,按升序排列。
单位 :曝光值(EV)
有效值的范围:
值大于等于0
可选 - 在某些设备上,此值可能为 null
。
完整功能 - 在 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上都存在
Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS
本相机设备支持的 android.lens.focalLength
的焦距列表。
如果不支持光学变焦,该列表将仅包含与设备的固定焦距相对应的单个值。 否则,该列表将包括相机设备支持的每个焦距,按升序排列。
单位 :毫米
有效值的范围:
值大于0
此密钥可在所有设备上使用。
也可以看看:
Key<int[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION
本相机设备支持的 android.lens.opticalStabilizationMode
的光学防抖(OIS)模式列表。
如果给定摄像机设备不支持OIS,则此列表将只包含OFF。
有效值的范围:
android.lens.opticalStabilizationMode
列出的任何值
可选 - 在某些设备上,此值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION
镜头焦距校准质量。
透镜焦点距离校准质量确定焦点相关的元数据条目的可靠性,即 android.lens.focusDistance
, android.lens.focusRange
, android.lens.info.hyperfocalDistance
,和 android.lens.info.minimumFocusDistance
。
APPROXIMATE和CALIBRATED设备以屈光度(1 /米)为单位报告焦点元数据,因此0.0f
表示聚焦在无限远处,增加正数代表聚焦越来越靠近相机设备。 焦距控制也在这些设备上使用屈光度。
UNCALIBRATED设备不使用与任何实际物理测量直接比较的单位,但 0.0f
仍代表最远焦点,而 android.lens.info.minimumFocusDistance
代表设备可实现的最近焦点。
可能的值:
可选 - 在某些设备上此值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<Float> LENS_INFO_HYPERFOCAL_DISTANCE
此镜头的超焦距。
如果镜头不是固定焦点,则在 android.lens.info.focusDistanceCalibration
近似或校准状态时,相机设备将报告此字段。
单位 :详见 android.lens.info.focusDistanceCalibration
有效值的范围:
如果镜头固定焦点,> = 0。如果镜头具有调焦单元,则该值在(0.0f,
之内android.lens.info.minimumFocusDistance
]
可选 - 在某些设备上该值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE
距镜头最前表面最近的距离可以变成清晰的焦点。
如果镜头是固定焦点,则该值为0。
单位 :详情请参阅 android.lens.info.focusDistanceCalibration
有效值的范围:
> = 0
可选 - 在某些设备上此值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<float[]> LENS_INTRINSIC_CALIBRATION
此摄像机设备的固有校准参数。
描述从以相机为中心的三维坐标到传感器像素坐标的转换的五个校准参数:
[f_x, f_y, c_x, c_y, s]
其中 f_x
和 f_y
是水平和垂直焦距, [c_x, c_y]
是光轴的位置, s
是传感器平面未与镜头平面对齐的歪斜参数。
这些通常在变换矩阵K中使用:
K = [ f_x, s, c_x,
0, f_y, c_y,
0 0, 1 ]
然后可以将其与相机姿态旋转 R
和平移 t
(分别为 android.lens.poseRotation
和 android.lens.poseTranslation
)组合以计算从世界坐标到像素坐标的完整变换:
P = [ K 0 * [ R t
0 1 ] 0 1 ]
并且 p_w
是世界坐标系中的一个点,并且 p_s
是相机有效像素阵列坐标系中的一个点,并且包括齐次除以z:
p_h = (x_h, y_h, z_h) = P p_w
p_s = p_h / z_h
因此 [x_s, y_s]
是世界点的像素坐标, z_s = 1
和 w_s
是像素坐标中视差(深度)的度量。
请注意,此变换的坐标系是android.sensor.info.preCorrectionActiveArraySize
系统,其中(0,0)
是preCorrectionActiveArraySize矩形的左上角。 一旦将姿态和内部校准变换应用于世界点,则需要应用android.lens.radialDistortion
变换,并将结果调整为android.sensor.info.activeArraySize
坐标系(其中(0, 0)
是activeArraySize矩形的左上角),以将确定已处理(非RAW)输出缓冲区的世界点的最终像素坐标。
单位 : android.sensor.info.preCorrectionActiveArraySize
坐标系中的像素。
可选 - 在某些设备上此值可能为 null
。
Key<float[]> LENS_POSE_ROTATION
摄像机相对于传感器坐标系的方向。
四个系数描述从Android传感器坐标系到相机对齐坐标系的四元数旋转,其中X轴与图像传感器的长边对齐,Y轴与图像的短边对齐传感器,并且Z轴与传感器的光轴对齐。
为了从四元数系数 (x,y,z,w)
转换成旋转轴 (a_x, a_y, a_z)
和旋转量 theta
,可以使用以下公式:
theta = 2 * acos(w)
a_x = x / sin(theta/2)
a_y = y / sin(theta/2)
a_z = z / sin(theta/2)
要创建应用由此四元数定义的旋转的3x3旋转矩阵,可以使用以下矩阵:
R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw,
2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw,
2xz - 2yw, 2yz + 2xw, 1 - 2x^2 - 2y^2 ]
然后可以使用该矩阵将旋转应用于列向量点
p' = Rp
其中 p
位于设备传感器坐标系中,而 p'
位于面向摄像机的坐标系中。
单位 :四元数系数
可选 - 在某些设备上,此值可能为 null
。
Key<float[]> LENS_POSE_TRANSLATION
相机光学中心的位置。
相机设备的透镜的光学中心的位置,作为三维矢量(x,y,z)
,相对于在相同的方向,因为这相机面向最大相机装置的光学中心,在Android sensor coordinate axes
。 请注意,只有轴定义与传感器坐标系共享,但不是原点。
如果此设备是具有给定面的最大或仅具有相机设备,则此位置将是(0, 0, 0)
; 镜头光学中心位于主传感器沿+ X轴(从用户的角度来看右侧)3厘米处的摄像机设备将报告(0.03, 0, 0)
。
为了在面向相同方向的两个摄像机之间转换像素坐标,首先必须校正源摄像机android.lens.radialDistortion
。 则源相机android.lens.intrinsicCalibration
需要由被施加,随后android.lens.poseRotation
源照相机的,相对于目的相机源相机的平移,所述android.lens.poseRotation
目的地的相机,和最后的逆android.lens.intrinsicCalibration
目的地相机。 这在目标相机像素坐标中获得了径向无失真坐标。
为了将其与目标摄像机的实际图像进行比较,目标摄像机图像需要在比较或采样之前对径向失真进行校正。
单位 :米
可选 - 在某些设备上此值可能为 null
。
Key<float[]> LENS_RADIAL_DISTORTION
校正系数以校正此摄像机设备的径向和切向镜头失真。
四个径向畸变系数 [kappa_0, kappa_1, kappa_2, kappa_3]
和两个切向畸变系数 [kappa_4, kappa_5]
可以用来校正镜头的几何失真与映射方程:
x_c = x_i * ( kappa_0 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) +
kappa_4 * (2 * x_i * y_i) + kappa_5 * ( r^2 + 2 * x_i^2 )
y_c = y_i * ( kappa_0 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) +
kappa_5 * (2 * x_i * y_i) + kappa_4 * ( r^2 + 2 * y_i^2 )
这里, [x_c, y_c]
是在输入图像中对坐标 [x_i, y_i]
处的校正图像中的像素值进行采样的坐标:
correctedImage(x_i, y_i) = sample_at(x_c, y_c, inputImage)
像素坐标在与android.lens.intrinsicCalibration
校准字段相关的归一化坐标系中定义。 既[x_i, y_i]
和[x_c, y_c]
具有(0,0)
在镜片的光学中心[c_x, c_y]
。 x和y坐标的最大值在距离光学中心较远的边缘处归一化为1,因此两个尺寸的范围均为-1 <= x <= 1
。
最后, r
表示从光学中心,径向距离 r^2 = x_i^2 + y_i^2
,其大小是因此不大于 |r| <= sqrt(2)
。
所使用的失真模型是Brown-Conrady模型。
单位 :无 单位系数。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES
本相机设备支持的 android.noiseReduction.mode
的降噪模式列表。
全功能摄像头设备将始终支持OFF和FAST。
支持YUV_REPROCESSING或PRIVATE_REPROCESSING的相机设备将支持ZERO_SHUTTER_LAG。
传统能力相机设备将仅支持FAST模式。
有效值的范围:
在android.noiseReduction.mode
列出的任何值
可选 - 在某些设备上,此值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<Integer> REPROCESS_MAX_CAPTURE_STALL
重新处理捕获请求引入的最大摄像机捕获流水线失速(以帧计数为单位)。
这个关键描述了一个重新处理(输入)请求可以给摄像机同时传输常规(输出)捕获请求(包括重复请求)的最大干扰。
当相机设备正在提供相机输出重复请求(例如,预览)时提交重新处理捕捉请求时,它可能会抢占相机捕捉管道至少一个帧持续时间,以便相机设备无法处理以下捕捉及时请求曝光边界的下一个传感器开始。 发生这种情况时,应用程序可能会在相邻捕获输出帧之间观察到捕获时间间隔(长于一个帧持续时间),如果重复请求输出目标包括预览表面,则通常会出现预览毛刺。 这个密钥给出了由一个重新处理请求引入的任何格式/大小组合的最坏情况下的帧失速数。
如果此键报告0,则意味着重新处理请求不会对正在进行的摄像机重复请求输出引入任何故障,就好像此重新处理请求从未发出过一样。
如果摄像机设备支持PRIVATE或YUV重新处理(即, android.request.availableCapabilities
包含PRIVATE_REPROCESSING或YUV_REPROCESSING),则支持此项。
单位 :帧数。
有效值的范围:
<= 4
可选 - 在某些设备上,此值可能为 null
。
能力有限 - 在 android.info.supportedHardwareLevel
密钥中报告至少 HARDWARE_LEVEL_LIMITED
设备的所有相机设备上都存在
Key<int[]> REQUEST_AVAILABLE_CAPABILITIES
本相机设备发布的功能列表完全支持。
功能是相机设备为了能够满足一个或多个使用情况而制定的合同。
列出功能可确保支持常见使用所需的全部功能均可用。
使用不支持的功能提供的功能的子集可能在特定的相机设备实现上可能; 要做到这一点查询每个android.request.availableRequestKeys,android.request.availableResultKeys,android.request.availableCharacteristicsKeys。
以下功能保证可在 android.info.supportedHardwareLevel
==
FULL设备上使用:
其他功能可以在FULL或有限设备上使用,但应用程序应该查询该密钥以确保安全。
可能的值:
BACKWARD_COMPATIBLE
MANUAL_SENSOR
MANUAL_POST_PROCESSING
RAW
PRIVATE_REPROCESSING
READ_SENSOR_SETTINGS
BURST_CAPTURE
YUV_REPROCESSING
DEPTH_OUTPUT
CONSTRAINED_HIGH_SPEED_VIDEO
此密钥可在所有设备上使用。
也可以看看:
INFO_SUPPORTED_HARDWARE_LEVEL
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING
REQUEST_AVAILABLE_CAPABILITIES_RAW
REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING
REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS
REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE
REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT
REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
Key<Integer> REQUEST_MAX_NUM_INPUT_STREAMS
摄像机设备可同时配置和使用的任何类型输入流的最大数量。
设置为0时,表示不支持输入流。
输入流的图像格式可以是getInputFormats()
返回的任何支持的格式。 使用输入流时,必须至少有一个输出流配置为接收重新处理的图像。
在重新处理请求中使用输入流和某些输出流时,只有输入缓冲区将用于生成这些输出流缓冲区,并且不会捕获新的传感器图像。
例如,对于零快门时滞(ZSL)仍捕捉用例,输入流图像格式将为PRIVATE,相关的输出流图像格式应为JPEG。
有效值的范围:
0或1。
可选 - 在某些设备上,该值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<Integer> REQUEST_MAX_NUM_OUTPUT_PROC
相机设备可以同时配置和使用任何已处理(但不失速)格式的不同类型输出流的最大数量。
此值包含任何已处理(但未停止)格式的输出同时流的最大数量。
这列出了相机设备支持的输出流数量的上限。 同时使用更多的流可能需要更多的硬件和CPU资源,这将消耗更多的电力。 这种输出流的图像格式可以是RAW
以及android.scaler.streamConfigurationMap
提供的支持格式。
处理(但不拖延)被定义为没有拖延持续时间的任何非RAW格式。 典型:
YUV_420_888
NV21
YV12
isOutputSupportedFor(Class)
对于完整保证, getOutputStallDuration(int, Size)
使用处理后的格式查询 getOutputStallDuration(int, Size)
- 对于非拖延流,它将返回0。
LEGACY设备将支持至少2个处理/非阻塞流。
有效值的范围:
对于全模式设备,> = 3(
); 对于限制模式设备,> = 2( android.info.supportedHardwareLevel
== FULL
)。android.info.supportedHardwareLevel
== LIMITED
此密钥可在所有设备上使用。
Key<Integer> REQUEST_MAX_NUM_OUTPUT_PROC_STALLING
相机设备可以同时配置和使用任何处理(和拖延)格式的不同类型输出流的最大数量。
此值包含任何已处理(但未停止)格式的输出同时流的最大数量。
这列出了相机设备支持的输出流数量的上限。 同时使用更多的流可能需要更多的硬件和CPU资源,这将消耗更多的电力。 这种输出流的图像格式可以是RAW
以及android.scaler.streamConfigurationMap
提供的支持格式。
处理后的和失速的格式被定义为任何非RAW格式,其stallDurations> 0。通常只有 JPEG format
是失速格式。
对于完整保证, getOutputStallDuration(int, Size)
使用处理后的格式查询 getOutputStallDuration(int, Size)
- 它将为停滞流返回非0值。
LEGACY设备将支持最多1个处理/停顿流。
有效值的范围:
> = 1
此密钥可在所有设备上使用。
Key<Integer> REQUEST_MAX_NUM_OUTPUT_RAW
相机设备可同时配置和使用任何 RAW
格式的不同类型输出流的最大数量。
该值包含来自原始传感器的输出同时流的最大数量。
这列出了相机设备支持的输出流数量的上限。 同时使用更多的流可能需要更多的硬件和CPU资源,这将消耗更多的电力。 对于这种一个输出流的图像格式可以是任何RAW
通过提供和支持的格式android.scaler.streamConfigurationMap
。
特别是, RAW
格式通常是 RAW
格式之一:
LEGACY模式设备( android.info.supportedHardwareLevel
==
LEGACY)从不支持原始数据流。
有效值的范围:
> = 0
此密钥可在所有设备上使用。
Key<Integer> REQUEST_PARTIAL_RESULT_COUNT
定义结果将由多少个子组件组成。
为了对抗流水线延迟,部分结果可以在相机设备可用时立即传送到应用层。
可选的; 默认值为1.值为1意味着不支持部分结果,并且只有最终的TotalCaptureResult将由摄像机设备生成。
一个典型的用例可能是:在请求自动对焦(AF)锁定之后,新的AF状态可能在通过管线的方式中有50%可用。 相机设备可以立即通过部分结果将该状态分派给应用程序,其余的元数据通过稍后的部分结果。
有效值的范围:
> = 1
可选 - 在某些设备上,此值可能为 null
。
Key<Byte> REQUEST_PIPELINE_MAX_DEPTH
指定帧从暴露到帧可用时的最大流水线阶段数。
传感器的典型最小值是2(暴露一级,读出一级)。 ISP然后通常添加它自己的阶段来执行定制的硬件处理。 SW处理可能会增加更多阶段。
根据使用的设置(例如YUV,JPEG)和启用了哪些处理(例如人脸检测),实际管线深度(由 android.request.pipelineDepth
指定)可能会小于最大管线深度。
X阶段的流水线深度相当于X帧间隔的流水线延迟。
该值通常为8或更小,但是,对于高速捕获会话,最大流水线深度将高达8倍大小的高速捕获请求列表。
此密钥可在所有设备上使用。
也可以看看:
Key<Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM
对于 android.scaler.cropRegion
,活动区域宽度和裁剪区域宽度以及活动区域高度和裁剪区域高度之间的最大比率。
这表示相机设备可以实现的最大缩放量,或者等同于最小裁剪窗口尺寸。
宽度或高度小于此比例的裁剪区域将被四舍五入至相机设备允许的最小尺寸。
单位 :缩放比例因子
有效值的范围:
> = 1
此密钥可在所有设备上使用。
也可以看看:
Key<Integer> SCALER_CROPPING_TYPE
此相机设备支持的裁切类型。
将非居中裁剪区域( android.scaler.cropRegion
)传递到仅支持CENTER_ONLY裁剪的相机设备时,相机设备会将裁剪区域移动到传感器活动阵列的中心( android.sensor.info.activeArraySize
),并保持裁剪区域的宽度和高度不变。 相机设备将返回元数据结果android.scaler.cropRegion
最终使用的裁剪区域。
支持FREEFORM裁剪的相机设备将支持活动阵列内的任何裁剪区域。 相机设备将应用相同的裁剪区域,并将最终使用的裁剪区域返回到捕捉结果元数据android.scaler.cropRegion
。
LEGACY功能设备将仅支持CENTER_ONLY裁剪。
可能的值:
此密钥可在所有设备上使用。
Key<StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP
此相机设备支持的可用流配置; 还包括每种格式/尺寸组合的最小帧持续时间和停顿持续时间。
所有相机设备将支持JPEG格式的传感器最大分辨率(由 android.sensor.info.activeArraySize
定义)。
对于给定的用例,实际支持的最大分辨率可能低于此处列出的分辨率,具体取决于图像数据的目标表面。 例如,对于录制视频,选择的视频编码器可能会有最大尺寸限制(例如1080p),比摄像机(例如最大分辨率为3264x2448)可以提供的尺寸更小。
请参考图像数据目的地的文档,以检查它是否限制图像数据的最大尺寸。
下表介绍了基于硬件级别( android.info.supportedHardwareLevel
)的最低要求输出流配置:
Format | Size | Hardware Level | Notes |
---|---|---|---|
JPEG |
android.sensor.info.activeArraySize (*1) |
Any | |
JPEG |
1920x1080 (1080p) | Any | if 1080p <= activeArraySize |
JPEG |
1280x720 (720p) | Any | if 720p <= activeArraySize |
JPEG |
640x480 (480p) | Any | if 480p <= activeArraySize |
JPEG |
320x240 (240p) | Any | if 240p <= activeArraySize |
YUV_420_888 |
all output sizes available for JPEG | FULL | |
YUV_420_888 |
all output sizes available for JPEG, up to the maximum video size | LIMITED | |
PRIVATE |
same as YUV_420_888 | Any |
有关基于每个功能的其他强制流配置,请参阅 android.request.availableCapabilities
和 createCaptureSession(List
。
* 1:对于JPEG格式,尺寸可能受以下条件限制:
android.sensor.info.activeArraySize
) has an aspect ratio other than these, it does not have to be included in the supported JPEG sizes.此密钥可在所有设备上使用。
Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES
本相机设备支持的 android.sensor.testPatternMode
传感器测试图案模式列表。
默认为OFF,并且如果定义,则始终包含OFF。
有效值的范围:
android.sensor.testPatternMode
列出的任何值
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN
每个彩色滤光片排列(CFA)镶嵌通道的固定黑色电平偏移量。
此键指定相机传感器中每个CFA镶嵌通道的零光源值。 传感器输出的最大值由android.sensor.info.whiteLevel
的值android.sensor.info.whiteLevel
。
这些值的顺序与为CFA布局键列出的通道的顺序相同(请参阅 android.sensor.info.colorFilterArrangement
),即给出的第n个值与CFA中列出的第n个颜色通道的黑色电平偏移相对应。
拍摄图像的黑色水平值可能因不同的拍摄设置而异(例如, android.sensor.sensitivity
)。 这个键表示这种情况的粗略近似值。 它建议使用android.sensor.dynamicBlackLevel
或使用像素从android.sensor.opticalBlackRegions
当由所述摄像装置,其提供更精确的黑色电平值支持直接捕获。 对于特定的原始捕捉,建议使用android.sensor.opticalBlackRegions
像素来计算每个帧的黑色电平值。
有效值的范围:
> = 0。
可选 - 在某些设备上该值可能为 null
。
Key<ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM1
每个设备的校准转换矩阵,从参考传感器色彩空间映射到实际设备传感器色彩空间。
该矩阵用于校正传感器色彩空间中的每个设备的变化,并用于处理原始缓冲区数据。
该矩阵表示为按行主要顺序的3x3矩阵,并且包含每设备校准变换,该变换将来自参考传感器颜色空间(即,“黄金模块”颜色空间)的颜色映射到该摄像机设备的本机传感器颜色空间中第一参考光源( android.sensor.referenceIlluminant1
)。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM2
每个设备的校准转换矩阵,从参考传感器色彩空间映射到实际设备传感器色彩空间(这是原始缓冲区数据的色彩空间)。
该矩阵用于校正传感器色彩空间中的每个设备的变化,并用于处理原始缓冲区数据。
该矩阵表示为按行主要顺序的3x3矩阵,并且包含每设备校准变换,该变换将来自参考传感器颜色空间(即,“黄金模块”颜色空间)的颜色映射到该摄像机设备的本机传感器颜色空间中第二参考光源( android.sensor.referenceIlluminant2
)。
只有存在第二参考光源时,此矩阵才会存在。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<ColorSpaceTransform> SENSOR_COLOR_TRANSFORM1
将颜色值从CIE XYZ颜色空间转换为参考传感器颜色空间的矩阵。
该矩阵用于将标准CIE XYZ颜色空间转换为参考传感器颜色空间,并在处理原始缓冲区数据时使用。
该矩阵表示为按行主要顺序的3×3矩阵,并且包含将来自CIE XYZ颜色空间的颜色映射到第一参考光源下的参考传感器颜色空间(即,“黄金模块”颜色空间)的颜色转换矩阵( android.sensor.referenceIlluminant1
)。
在计算该变换时,在参考传感器颜色空间和CIE XYZ颜色空间中选择的白色点将与第一个参考光源的标准白色点相匹配(即不会通过该变换应用颜色自适应)。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<ColorSpaceTransform> SENSOR_COLOR_TRANSFORM2
将颜色值从CIE XYZ颜色空间转换为参考传感器颜色空间的矩阵。
该矩阵用于将标准CIE XYZ颜色空间转换为参考传感器颜色空间,并在处理原始缓冲区数据时使用。
该矩阵表示为行主要次序的3×3矩阵,并且包含将来自CIE XYZ色彩空间的色彩映射到第二参考光源下的参考传感器色彩空间(即“金色模块”色彩空间)的色彩转换矩阵( android.sensor.referenceIlluminant2
)。
在计算该变换时,在参考传感器颜色空间和CIE XYZ颜色空间中选择的白色点将与第二个参考光源的标准白色点相匹配(即不会通过该变换应用颜色自适应)。
只有存在第二参考光源时,此矩阵才会存在。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<ColorSpaceTransform> SENSOR_FORWARD_MATRIX1
将参考传感器色彩空间中的白色平衡相机色彩转换为具有D50白点的CIE XYZ色彩空间的矩阵。
该矩阵用于转换为标准的CIE XYZ色彩空间,并在处理原始缓冲区数据时使用。
该矩阵表示为主要次序中的3×3矩阵,并且包含将来自参考传感器色彩空间的白色平衡色彩与具有D50白色点的CIE XYZ色彩空间映射的色彩转换矩阵。
在第一个参考光源( android.sensor.referenceIlluminant1
)下选择此矩阵,以便参考传感器色彩空间中此参考光源的标准白色点被映射到CIE XYZ色彩空间中的D50。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<ColorSpaceTransform> SENSOR_FORWARD_MATRIX2
将参考传感器色彩空间中的白色平衡相机色彩转换为具有D50白点的CIE XYZ色彩空间的矩阵。
该矩阵用于转换为标准的CIE XYZ色彩空间,并在处理原始缓冲区数据时使用。
该矩阵表示为主要次序中的3×3矩阵,并且包含将来自参考传感器色彩空间的白色平衡色彩与具有D50白色点的CIE XYZ色彩空间映射的色彩转换矩阵。
在第二个参考光源( android.sensor.referenceIlluminant2
)下选择此矩阵,以便参考传感器色彩空间中该参考光源的标准白点被映射到CIE XYZ色彩空间中的D50。
只有存在第二参考光源时,此矩阵才会存在。
可选 - 在某些设备上该值可能为 null
。
也可以看看:
Key<Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE
已经应用了在任何几何失真校正之后对应于有效像素的图像传感器的区域。
这是表示在应用任何几何校正之后传感器的活动区域的大小(即实际接收来自场景的光的区域)的矩形,并且应当被视为任何图像输出的最大大小(以像素为单位)除原始格式之外的格式。
这个矩形是相对于全像素阵列定义的; (0,0)是全像素阵列的左上角,全像素阵列的大小由android.sensor.info.pixelArraySize
给出。
的坐标系对于大多数其他键,列出像素坐标,包括 android.scaler.cropRegion
,定义相对于在该领域中给出的有源阵列矩形,与 (0, 0)
是左上当前矩形的。
有源阵列可能小于全像素阵列,因为全阵列可能包括黑色校准像素或其他无效区域,导致缩放或裁剪的几何校正可能已被应用。
单位 :图像传感器上的像素坐标
此密钥可在所有设备上使用。
Key<Integer> SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
传感器上彩色滤光片的排列; 以读数顺序表示传感器左上角2x2部分的颜色。
可能的值:
可选 - 在某些设备上,此值可能为 null
。
完整功能 - 在 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上都存在
Key<Range<Long>> SENSOR_INFO_EXPOSURE_TIME_RANGE
本相机设备支持的 android.sensor.exposureTime
的图像曝光时间范围。
单位 :纳秒
有效值的范围:
最小曝光时间将小于100 us。 对于全功能设备( android.info.supportedHardwareLevel
== FULL),最大曝光时间将大于100ms。
可选 - 在某些设备上该值可能为 null
。
完整功能 - 在 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上存在
Key<Boolean> SENSOR_INFO_LENS_SHADING_APPLIED
从相机设备输出的RAW图像是否进行镜头阴影校正。
如果为TRUE,则相机设备在RAW图像格式中生成的所有图像都已经应用了镜头阴影校正。 如果FALSE,图像将不会被调整用于镜头阴影校正。 有关RAW图像格式的列表,请参阅android.request.maxNumOutputRaw
。
此密钥将为null
,所有设备不会报告此信息。 具有RAW功能的设备将始终在此密钥中报告此信息。
可选 - 在某些设备上,此值可能为 null
。
也可以看看:
Key<Long> SENSOR_INFO_MAX_FRAME_DURATION
本相机设备支持的 android.sensor.frameDuration
的最大可能帧持续时间(最小帧速率)。
试图使用超过最大值的帧持续时间会导致帧持续时间被限制为最大值。 请参阅该控件以了解帧持续时间的完整定义。
有关最小帧持续时间值,请参阅 getOutputMinFrameDuration(int, Size)
。
单位 :纳秒
有效值的范围:
对于全功能设备( android.info.supportedHardwareLevel
== FULL),至少100ms。
可选 - 在某些设备上此值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<SizeF> SENSOR_INFO_PHYSICAL_SIZE
全像素阵列的物理尺寸。
这是由 android.sensor.info.pixelArraySize
定义的传感器像素阵列的物理尺寸。
单位 :毫米
此密钥可在所有设备上使用。
也可以看看:
Key<Size> SENSOR_INFO_PIXEL_ARRAY_SIZE
全像素阵列的尺寸,可能包括黑色校准像素。
图像传感器全像素阵列的像素数,覆盖android.sensor.info.physicalSize
区域。 这表示该传感器生成的原始缓冲区的全像素尺寸。
如果摄像机设备支持原始传感器格式,这个或 android.sensor.info.preCorrectionActiveArraySize
是用于列出的原始输出格式的最大尺寸 android.scaler.streamConfigurationMap
(这取决于在图像传感器上是否返回包含的像素中不为黑水平有源阵列区域的一部分缓冲区校准或其他目的)。
全像素阵列的某些部分可能无法从场景中接收光线,或者无法使用。 android.sensor.info.preCorrectionActiveArraySize
键定义了将包含在处理后的图像格式中的活动像素的矩形。
单位 :像素
此密钥可在所有设备上使用。
Key<Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
图像传感器的区域在应用任何几何失真校正之前对应于有效像素。
这是在应用任何几何校正之前代表传感器活动区域大小(即实际接收场景光线的区域)的矩形,并且应被视为任何原始格式的活动区域矩形。 与原始处理相关联的所有元数据(例如,透镜阴影校正图和径向失真场)将该矩形的左上角作为原点(0,0)。
在应用几何失真校正之前,此区域的大小决定了最大视场和来自此传感器的图像可包含的最大像素数。 失真校正后图像的有效最大像素尺寸由android.sensor.info.activeArraySize
场给出,并且可以通过将几何失真校正字段应用于该矩形来计算失真校正后图像的有效最大视场,并且裁剪到android.sensor.info.activeArraySize
给出的矩形。
例如,要计算处理后的YUV输出图像中像素的位置(x,y),其尺寸为 android.sensor.info.activeArraySize
给定像素的位置(x',y'),尺寸为 android.sensor.info.pixelArraySize
:
android.sensor.info.preCorrectionActiveArraySize
, otherwise this pixel is considered to be outside of the FOV, and will not be shown in the processed output image.android.sensor.info.preCorrectionActiveArraySize
rectangle.android.sensor.info.activeArraySize
, then the position of this pixel in the processed output image buffer is (x_i - activeArray.left, y_i - activeArray.top)
, when the top, left coordinate of that buffer is treated as (0, 0).因此,对于像素X 'Y'上的传感器,其中=(25,25) android.sensor.info.pixelArraySize
是(100,100), android.sensor.info.preCorrectionActiveArraySize
是(10,10,100,100), android.sensor.info.activeArraySize
是(20,20,80,80),和几何失真校正不改变像素坐标,在像素坐标中选择的结果像素相对于 android.sensor.info.pixelArraySize
给出的尺寸的原始缓冲区的顶部左边的x,y =(25,25),并且将是( 5,5)相对于后处理的YUV输出缓冲器的左上方,其尺寸在 android.sensor.info.activeArraySize
给出。
目前支持的几何失真校正字段是:
如果所有几何失真场都是空操作,则该矩形将与 android.sensor.info.activeArraySize
给出的 android.sensor.info.activeArraySize
失真校正的矩形 android.sensor.info.activeArraySize
。
这个矩形是相对于全像素阵列定义的; (0,0)是全像素阵列的左上角,全像素阵列的大小由android.sensor.info.pixelArraySize
给出。
预校正有源阵列可以小于全像素阵列,因为全阵列可以包括黑校准像素或其他无源区域。
单位 :图像传感器上的像素坐标
此密钥可在所有设备上使用。
Key<Range<Integer>> SENSOR_INFO_SENSITIVITY_RANGE
本相机设备支持的 android.sensor.sensitivity
灵敏度范围。
这些值是ISO 12232:2006中定义的标准ISO敏感度值。
有效值的范围:
Min <= 100,Max> = 800
可选 - 在某些设备上该值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<Integer> SENSOR_INFO_TIMESTAMP_SOURCE
传感器捕获的时间基准源开始时间戳。
为捕获提供的时间戳总是纳秒和单调的,但可能不基于可与其他系统时间源进行比较的时间源。
这个特征定义了时间戳的来源,因此是否可以将它们与其他系统时间源/时间戳进行比较。
可能的值:
此密钥可在所有设备上使用。
Key<Integer> SENSOR_INFO_WHITE_LEVEL
传感器输出的最大原始值。
这为来自传感器的原始样本值指定了完全饱和的编码级别。 这通常是由传感器变成高度非线性或削波引起的。 每个通道的最小值由android.sensor.blackLevelPattern
键中的偏移量指定。
白电平通常由传感器比特深度(预期8-14比特)或传感器响应变得非线性非常有用的点来确定。 默认值是16位原始采样(2 ^ 16 - 1)的最大可表示值。
拍摄图像的白色值可能因不同的拍摄设置而异(例如, android.sensor.sensitivity
)。 这个键表示这种情况的粗略近似值。 当相机设备支持时,建议使用android.sensor.dynamicWhiteLevel
进行捕捉,该功能可提供更准确的白平衡值。
有效值的范围:
> 255(8位输出)
可选 - 在某些设备上该值可能为 null
。
Key<Integer> SENSOR_MAX_ANALOG_SENSITIVITY
纯粹通过模拟增益实现的最大灵敏度。
对于小于或等于android.sensor.sensitivity
值,所有应用的增益必须是模拟的。 对于高于此值的应用,增益可以是模拟和数字的混合。
可选 - 在某些设备上,此值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<Rect[]> SENSOR_OPTICAL_BLACK_REGIONS
指示传感器光屏蔽黑色像素区域的不相交矩形的列表。
在大多数相机传感器中,有源阵列被一些光学屏蔽的像素区域包围。 通过阻挡光线,这些像素为有源阵列区域中的黑色电平补偿提供了可靠的黑色参考。
如果相机设备能够读出输出原始图像中的这些黑色像素,则此键提供指定光学屏蔽区域(带有金属屏蔽)的黑色像素区域的不相交矩形的列表。 与android.sensor.blackLevelPattern
报告的固定黑电平值android.sensor.blackLevelPattern
,此键可为应用程序计算每个捕获的原始图像的黑电平提供更准确的方法。
当报告此密钥时, android.sensor.dynamicBlackLevel
报告 android.sensor.dynamicBlackLevel
和 android.sensor.dynamicWhiteLevel
。
可选 - 在某些设备上,此值可能为 null
。
Key<Integer> SENSOR_ORIENTATION
顺时针角度,通过该角度,输出图像需要在设备屏幕上以原始方向旋转直立。
还定义了在传感器坐标系中从上到下滚动快门读取的方向。
单位 :顺时针旋转度数; 总是90的倍数
有效值的范围:
0,90,180,270
此密钥可在所有设备上使用。
Key<Integer> SENSOR_REFERENCE_ILLUMINANT1
计算时使用的作为场景光源的标准基准光源 android.sensor.colorTransform1
, android.sensor.calibrationTransform1
,和 android.sensor.forwardMatrix1
矩阵。
此键中的值与为EXIF LightSource标签定义的值相对应。 这些光源是常用于校准照相机设备的标准光源。
如果此密钥存在,则 android.sensor.colorTransform1
android.sensor.calibrationTransform1
和 android.sensor.forwardMatrix1
。
一些设备可以选择提供第二组校准信息以提高质量,包括 android.sensor.referenceIlluminant2
及其对应的矩阵。
可能的值:
DAYLIGHT
FLUORESCENT
TUNGSTEN
FLASH
FINE_WEATHER
CLOUDY_WEATHER
SHADE
DAYLIGHT_FLUORESCENT
DAY_WHITE_FLUORESCENT
COOL_WHITE_FLUORESCENT
WHITE_FLUORESCENT
STANDARD_A
STANDARD_B
STANDARD_C
D55
D65
D75
D50
ISO_STUDIO_TUNGSTEN
可选 - 某些设备上的此值可能为 null
。
也可以看看:
SENSOR_CALIBRATION_TRANSFORM1
SENSOR_COLOR_TRANSFORM1
SENSOR_FORWARD_MATRIX1
SENSOR_REFERENCE_ILLUMINANT2
SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT
SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT
SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN
SENSOR_REFERENCE_ILLUMINANT1_FLASH
SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER
SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER
SENSOR_REFERENCE_ILLUMINANT1_SHADE
SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT
SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT
SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT
SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT
SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A
SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B
SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C
SENSOR_REFERENCE_ILLUMINANT1_D55
SENSOR_REFERENCE_ILLUMINANT1_D65
SENSOR_REFERENCE_ILLUMINANT1_D75
SENSOR_REFERENCE_ILLUMINANT1_D50
SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN
Key<Byte> SENSOR_REFERENCE_ILLUMINANT2
计算时使用的作为场景光源的标准基准光源 android.sensor.colorTransform2
, android.sensor.calibrationTransform2
,和 android.sensor.forwardMatrix2
矩阵。
有关更多详细信息,请参阅 android.sensor.referenceIlluminant1
。
如果此密钥存在,则 android.sensor.colorTransform2
android.sensor.calibrationTransform2
和 android.sensor.forwardMatrix2
。
有效值的范围:
在android.sensor.referenceIlluminant1
列出的任何值
可选 - 在某些设备上该值可能为 null
。
Key<int[]> SHADING_AVAILABLE_MODES
本相机设备支持的 android.shading.mode
的镜头阴影模式列表。
此列表包含可为相机设备设置的镜头阴影模式。 支持MANUAL_POST_PROCESSING功能的相机设备将始终列出OFF和FAST模式。 这包括所有FULL级别的设备。 LEGACY设备将始终仅支持FAST模式。
有效值的范围:
在android.shading.mode
列出的任何值
此密钥可在所有设备上使用。
也可以看看:
Key<int[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES
本相机设备支持的 android.statistics.faceDetectMode
的人脸检测模式列表。
OFF始终受支持。
有效值的范围:
在android.statistics.faceDetectMode
列出的任何值
此密钥可在所有设备上使用。
也可以看看:
Key<boolean[]> STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES
本相机设备支持的 android.statistics.hotPixelMapMode
的热像素图输出模式列表。
如果此摄像机设备没有可用的hotpixel映射输出,则此输出将仅包含 false
。
ON始终支持具有RAW功能的设备。
有效值的范围:
android.statistics.hotPixelMapMode
列出的任何值
可选 - 在某些设备上该值可能为 null
。
Key<int[]> STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES
本相机设备支持的 android.statistics.lensShadingMapMode
的镜头阴影图输出模式列表。
如果此相机设备没有镜头底纹图输出可用,则此键仅包含OFF。
ON始终支持具有RAW功能的设备。 LEGACY模式设备将始终只支持OFF。
有效值的范围:
在android.statistics.lensShadingMapMode
列出的任何值
可选 - 某些设备上的此值可能为 null
。
Key<Integer> STATISTICS_INFO_MAX_FACE_COUNT
可同时检测的最大面数。
有效值的范围:
0表示没有可用人脸检测的相机; 否则: >=4
为>=4
或全部设备或>0
为LEGACY设备。
此密钥可在所有设备上使用。
Key<Integer> SYNC_MAX_LATENCY
在请求(不同于前一个请求)之后可以发生的最大帧数已经提交,并且在结果的状态变为同步之前。
这定义了具有新控件的请求的帧号与应用了所有控件的结果的帧号之间的最大距离(以元数据结果的数量)。
换句话说,这在相机设备知道新提交的相机设置已经应用于传出帧中的事实之前必须发生多少帧的上边界上。
单位 :帧数
可能的值:
此设备的可用值:
正值,PER_FRAME_CONTROL或UNKNOWN。
此密钥可在所有设备上使用。
Key<int[]> TONEMAP_AVAILABLE_TONE_MAP_MODES
本相机设备支持的 android.tonemap.mode
的色调映射模式列表。
支持MANUAL_POST_PROCESSING功能的相机设备将始终至少包含以下模式组合中的一种:
这包括所有FULL级别的设备。
有效值的范围:
android.tonemap.mode
列出的任何值
可选 - 在某些设备上,此值可能为 null
。
完整功能 - 出现在 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
Key<Integer> TONEMAP_MAX_CURVE_POINTS
色调映射曲线中支持点的最大数量,可用于 android.tonemap.curve
。
如果应用程序提供的实际点数( android.tonemap.curve
*)小于此最大值,则摄像机设备将使用线性插值将曲线重新采样为其内部表示。
结果元数据中的输出曲线可能具有与输入曲线不同的点数,并且将在线性插值时尽可能接近地表示所使用的实际硬件曲线。
可选 - 在某些设备上,此值可能为 null
。
完整功能 - 存在于 android.info.supportedHardwareLevel
密钥中报告为 HARDWARE_LEVEL_FULL
设备的所有相机设备上
T get (Key<T> key)
获取相机特性字段值。
字段定义可以在 CameraCharacteristics
找到。
多次查询同一个键的值将返回一个等于先前查询值的值。
Parameters | |
---|---|
key |
Key : The characteristics field to read. |
Returns | |
---|---|
T |
The value of that key, or null if the field is not set. |
Throws | |
---|---|
IllegalArgumentException |
if the key was not valid |
List<Key<?>> getAvailableCaptureRequestKeys ()
返回此 CameraDevice
支持的密钥列表,用于查询 CaptureRequest
。
返回的列表是不可修改的,所以任何修改它的尝试都会抛出 UnsupportedOperationException
。
每个键只在列表中列出一次。 密钥的顺序是未定义的。
请注意,没有 getAvailableCameraCharacteristicsKeys()
- 请使用 getKeys()
。
Returns | |
---|---|
List<Key<?>> |
List of keys supported by this CameraDevice for CaptureRequests. |
List<Key<?>> getAvailableCaptureResultKeys ()
返回此 CameraDevice
支持的关键字列表,用于查询 CaptureResult
。
返回的列表不可修改,因此任何修改它的尝试都会抛出 UnsupportedOperationException
。
每个键只在列表中列出一次。 密钥的顺序是未定义的。
请注意,没有 getAvailableCameraCharacteristicsKeys()
- 请使用 getKeys()
。
Returns | |
---|---|
List<Key<?>> |
List of keys supported by this CameraDevice for CaptureResults. |
List<Key<?>> getKeys ()
返回此映射中包含的键的列表。
返回的列表不可修改,因此任何修改它的尝试都会抛出 UnsupportedOperationException
。
所有由#get
列表中的密钥检索到的值都保证为非null
。 每个键只在列表中列出一次。 密钥的顺序是未定义的。
Returns | |
---|---|
List<Key<?>> |
List of the keys contained in this map. |