CaptureRequest部分参数说明

发布时间:2024年01月24日
  • CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE

用于指定自动曝光(AE)程序在捕获过程中可以使用的帧率范围。AE 代表自动曝光(Auto Exposure),而 FPS 代表每秒帧数(Frames Per Second)。这个设置用来控制相机的帧率,以确保在不同光照条件下获得适当的曝光。

  • CaptureRequest.CONTROL_AF_MODE

用于控制相机自动对焦行为的参数。AF代表自动对焦(Auto Focus)。这个设置决定相机在捕获图像时如何自动调整焦点。CONTROL_AF_MODE 支持多种不同的对焦模式:

  • CONTROL_AF_MODE_OFF:关闭自动对焦功能,用户需要手动调整焦点。
  • CONTROL_AF_MODE_AUTO:自动对焦模式,在触发对焦事件时自动对焦一次。
  • CONTROL_AF_MODE_MACRO:用于近距离拍摄(微距)的自动对焦模式。
  • CONTROL_AF_MODE_CONTINUOUS_VIDEO:视频录制时使用的连续自动对焦模式,对焦操作平滑进行,以避免录制时对焦引起的抖动。
  • CONTROL_AF_MODE_CONTINUOUS_PICTURE:拍照时使用的连续自动对焦模式,对焦速度比视频模式更快,侧重于快速捕捉图像。
  • CONTROL_AF_MODE_EDOF:扩展景深(Extended Depth of Field)模式,相机硬件设置为提供较大景深而无需持续对焦。
  • CaptureRequest.TONEMAP_MODE

用于指定相机在处理图像时如何映射颜色和亮度的范围(色调映射)。色调映射是一个很重要的后期处理步骤,它影响图像的最终外观,特别是在高动态范围(HDR)图像处理中。

这个设置允许开发者控制相机输出图像的对比度和颜色调整。色调映射可以用来增强图片的视觉效果,使之在不同的显示设备上呈现出更加逼真和丰富的色彩。

CaptureRequest.TONEMAP_MODE 主要包含以下模式选项:

  • TONEMAP_MODE_CONTRAST_CURVE:使用自定义的对比度曲线来调整图像的色调映射。开发者可以提供一个或多个色调映射曲线,用于不同的颜色通道。
  • TONEMAP_MODE_FAST:快速模式,提供较快的色调映射处理,但可能不会得到最佳的图像质量。
  • TONEMAP_MODE_HIGH_QUALITY:高质量模式,提供最好的色调映射效果,但可能会导致处理速度变慢。
  • TONEMAP_MODE_GAMMA_VALUE:允许使用一个指定的伽玛值来调整色调映射。
  • TONEMAP_MODE_PRESET_CURVE:使用预设的色调映射曲线,如sRGBREC709

在创建拍摄请求时,可以通过 CaptureRequest.Builder 设置这个参数来控制色调映射的模式:

CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
builder.set(CaptureRequest.TONEMAP_MODE, CaptureRequest.TONEMAP_MODE_HIGH_QUALITY);
  • CaptureRequest.SHADING_MODE

用来控制相机对图像阴影或镜头阴影的校正。镜头阴影是由于镜头光学特性造成的,通常在图像边缘处出现,表现为角落变暗。

这个设置允许应用开发者指定相机如何处理镜头的阴影效果。不同的阴影模式可以在防止图像边缘失去细节和色彩时纠正或优化镜头造成的色彩不均问题。

CaptureRequest.SHADING_MODE 主要有以下模式选项:

  • SHADING_MODE_OFF:不进行阴影校正。
  • SHADING_MODE_FAST:快速模式,提供较快的阴影校正处理,但可能不会获得最佳图像质量。
  • SHADING_MODE_HIGH_QUALITY:高质量模式,提供最佳的阴影校正效果,但可能导致处理速度变慢。
  • SHADING_MODE_VENDOR_OPTIMIZED(如果可用):制造商优化的模式,可能使用特定于设备制造商的算法来进行阴影校正,以获得最佳效果。

在创建拍摄请求时,可以通过 CaptureRequest.Builder 设置这个参数来控制阴影校正的模式:

CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
builder.set(CaptureRequest.SHADING_MODE, CaptureRequest.SHADING_MODE_HIGH_QUALITY);
  • CaptureRequest.COLOR_CORRECTION_MODE

用来控制相机硬件的颜色校正行为。颜色校正是指调整图像的颜色以使其更接近真实场景的颜色或满足特定的视觉效果。

在Android的Camera2 API中,COLOR_CORRECTION_MODE 的设置决定了相机设备在处理图像数据时如何应用颜色校正。这个设置的值是一个整型(int),通常有以下常量值可选:

  • COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:使用色彩转换矩阵进行手动校正。
  • COLOR_CORRECTION_MODE_FAST:请求快速但不一定精确的颜色校正。
  • COLOR_CORRECTION_MODE_HIGH_QUALITY:请求最高质量的颜色校正,可能会牺牲一些拍摄速度来保证色彩的准确度。

这个设置通常在创建CaptureRequest时进行配置。例如:

CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
builder.set(CaptureRequest.COLOR_CORRECTION_MODE, CaptureRequest.COLOR_CORRECTION_MODE_HIGH_QUALITY);
  • CaptureRequest.EDGE_MODE

用于指定相机硬件对捕获的图像进行边缘增强处理的模式。边缘增强是图像处理中用来提高照片清晰度和细节对比度的一种技术,通过增强图像中边缘部分的对比度来让图像看起来更为锐利。

CaptureRequest.EDGE_MODE 提供的模式通常包括:

  • EDGE_MODE_OFF:边缘增强处理不被应用。
  • EDGE_MODE_FAST:应用快速的边缘增强处理,不一定提供最好的图像质量,但通常速度较快。
  • EDGE_MODE_HIGH_QUALITY:应用高质量的边缘增强处理,可能会占用更多的处理时间,但提供更好的图像结果。
  • EDGE_MODE_ZERO_SHUTTER_LAG:此模式下会尝试最小化拍摄延迟,在某些设备上可能会用到该模式以提供快速捕捉图像的能力。

例如,在设置拍摄请求时,可以通过CaptureRequest.Builder设置这个参数,以控制边缘增强的应用:

CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
builder.set(CaptureRequest.EDGE_MODE, CaptureRequest.EDGE_MODE_HIGH_QUALITY);
  • CaptureRequest.NOISE_REDUCTION_MODE

用来指定相机硬件对捕获的图像进行噪声降低处理的模式。噪声降低是指在图像信号处理中减少图像噪声(不必要的随机变异),以提高图像质量的方法。这个功能特别在低光环境下或者高ISO设置时非常有用,因为这些情况下图像噪声通常更加明显。

CaptureRequest.NOISE_REDUCTION_MODE 提供了几种不同的模式:

  • NOISE_REDUCTION_MODE_OFF:不应用噪声降低处理。
  • NOISE_REDUCTION_MODE_FAST:应用快速的噪声降低处理,可能不会得到最佳图像质量,但处理速度较快。
  • NOISE_REDUCTION_MODE_HIGH_QUALITY:应用高质量的噪声降低处理,可能导致处理时间延长,但能得到更好的图像结果。
  • NOISE_REDUCTION_MODE_MINIMAL:此模式旨在降低拍摄延迟时的噪声,但不会像其他模式那样大量处理图像。
  • NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:此模式下会尝试最小化拍摄延迟,并进行一些噪声降低处理。这在需要快速连拍的情况下很有用。

当创建拍摄请求时,可以通过 CaptureRequest.Builder 设置这个参数来控制噪声降低的处理:

CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
builder.set(CaptureRequest.NOISE_REDUCTION_MODE, CaptureRequest.NOISE_REDUCTION_MODE_HIGH_QUALITY);
文章来源:https://blog.csdn.net/qq_31123505/article/details/135822489
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。