CaptureRequest部分参数说明

  • 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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/646931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言signal处理的底层机制深度探讨

在C语言中,signal处理是操作系统级别的事件处理机制,用于响应各种系统级事件,如程序错误、硬件中断等。深入理解signal处理的底层原理、使用方法以及其局限性对于编写稳定、可靠和安全的代码至关重要。本文旨在全面深入到系统调用和内核级探讨…

智能风控体系之divergence评分卡简介

评分卡模型的出现据说最早是在20世纪40年代,Household Finance and Spiegel和芝加哥邮购公司第一次尝试在贷款决策过程中使用信用评分.但是这两家公司都终止了这项业务。后来,在20世纪50年代末,伊利诺伊州的美国投资公司(AIC&…

【git】记录一个git error解决方法

出现场景 因为代码编写事件有点长,编写好之前有人提交过代码,而我这边没有git pull,所以提交失败了,然后pull的时候,提醒: error: The following untracked working tree files would be overwritten by …

《WebKit 技术内幕》学习之十四(1):调式机制

第14章 调试机制 支持调试HTML、CSS和JavaScript代码是浏览器或者渲染引擎需要提供的一项非常重要的功能,这里包括两种调试类型:其一是功能,其二是性能。功能调试能够帮助HTML开发者使用单步调试等技术来查找代码中的问题,性能调…

Spring Boot 模块工程(通过 Maven Archetype)建立

前言 看到我身边的朋友反馈说,IDEA 新建项目时,如果通过 Spring Initializr 来创建 Spring Boot , 已经无法选择 Java 8 版本,通过上小节的教程,不知道该如何创建 Spring Boot 模块工程。如下图所示: 一.IDEA 搭建 …

Kafka(八)使用Kafka构建数据管道

目录 1 使用场景2 构建数据管道时需要考虑的问题2.1 及时性2.2 可靠性高可用可靠性数据传递 2.3 高吞吐量2.4 数据格式2.5 转换ETLELT 2.6 安全性2.7 故障处理2.8 耦合性和灵活性临时数据管道元数据丢失末端处理 3 使用Connect API3.1 Connect的数据处理流程sourcesinkconnecto…

Vue3+Ts:实现paypal按钮

Vue3Ts:实现paypal按钮 一、前端页面按钮实现第一步:下载paypal.js依赖第二步:引入要使用的vue页面,并调用。 二、实现逻辑研究第一点:了解下Buttons自带的style属性第二点:了解下Buttons自带的处理方法第三…

centos7配置Google身份认证登录

1.手机app下载谷歌身份验证器 2.配置本地yum源 yum -y install git automake libtool pam-devel bzip2 wget vim ntpdate 3.校对时间 timedatectl set-timezone Asia/Shanghai ntpdate cn.pool.ntp.org 4.下载工具包 wget http://repository.timesys.com/buildsources/l/…

IP组播地址

目录 1.硬件组播 2.因特网范围内的组播 IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址 组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址…

丝路昆仑文物展:启用网关,文物预防性保护设备数据无缝对接平台

一、多功能网关数据无缝流转 近日,“丝路昆仑——新疆文物精品展”在天津博物馆开展。展览分为三部分:“丝路前奏”、“丝路华响”和“丝路梵音”,前两部分是以张骞凿通西域前后的中原西域两地文化交流,第三部分则讲述了佛教沿西…

人工智能数学验证工具LEAN4【入门介绍5】推理世界-如何使用和证明推理性的命题

视频链接: 人工智能数学验证工具LEAN4【入门介绍5】推理世界-如何使用和证明推理性的命题_哔哩哔哩_bilibili import Game.Levels.Implication.L10one_ne_zero World "Implication" Level 11 Title "2 2 ≠ 5" LemmaTab "Peano" …

Maven排除依赖 exclusions

排除依赖 exclusions 间接依赖是可以通过传递性依赖机制引入到当前项目中,而有时候第三方组件B的C依赖由于版本(1.0)过低存在安全漏洞。我们期望能够将该间接依赖直接剔除出去,不通过传递依赖的形式引入到项目中。这时即可通过exclusions元素实现&#x…

【并发】什么是 Future?

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 关键特性和操作包括: 提交任务: 查询完成状态: 等待结果: 取消任务&#xff1a…

golang整合rabbitmq,创建交换机并绑定队列

1,如果要开发消息队列,需要创建交换机和队列,通常有2中方式创建,1种是在面板直接创建 2,第二种就是在代码中创建,这里 展示的是go语言代码中创建rabbitmq package mainimport ("fmt""log""github.com/streadway/amqp" )func main() {// 连接R…

年销180万辆的特斯拉,护城河却在崩塌

文|刘俊宏 2023年率先开启汽车价格战的马斯克,伤敌一百自损八千? 在1月25日的特斯拉2023Q4财报电话会上,特斯拉CEO马斯克对中国公司的竞争力如此感叹道,“要是没有贸易壁垒,他们将摧毁(destroy…

2024年华为OD机试真题-执行时长-Python-OD统一考试(C卷)

题目描述: 为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务,假设GPU最多一次执行n个任务,一次执行耗时1秒,在…

Jsch版本升级引发的血案

背景 我们项目需要通过SFTP对接大量上下游获取数据,但是由于某一个上游需要更换AWS Transfer Family作为他们的SFTP服务,他们的SFTP服务使用更高版本的OpenSSH服务,原有的一些密钥算法已经不再支持,我们目前使用的Jcraft公司发布…

jsx中使用插槽

1. jsx语法中使用插槽 以elementplus ElPopconfirm 为例 <el-popconfirm title"Are you sure to delete this?"><template #reference><el-button>Delete</el-button></template></el-popconfirm>使用 slots: {default: (dat…

SpringBlade微服务开发平台

采用前后端分离的模式&#xff0c;前端开源两个框架&#xff1a;Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)后端采用SpringCloud全家桶&#xff0c;并同时对其基础组件做了高度的封装&#xff0c;单独开源出一个框架&#xff1a;BladeToolBladeTool已推送至…