我的NPI项目之Android Camera (四)-- 对应Camera tuning的一些理解

news/发布时间2024/9/20 8:03:29

Camera作为产品的一个核心部件,在产品竞争力方面有着不容争辩的地位。所以,选择一款合适的Camera模组并发挥出模组的性能对项目极其重要。

在Camera的选型方面,我不用多说,国内前五的有:舜宇,丘钛,联创,欧菲光,信利。其它的还有例如:比亚迪,合力泰; 国际上的有 三星、夏普、富士康、致伸科技等等。

那项目启动之后,如何去将选定的Camera的能力调整到最大? 就是tuning要进行的工作。

首先,Camera tuning分为三大部分:

Camera bringup:

这个工作主要是在整个项目的bringup阶段进行。PCB Fab,SMT和组装之后,就可以拿到对应的机器。机器上会进行最初的启动代码的移植,这里我们用的是Qualcomm的平台,也有MTK的平台,那么都有对应的bringup guide可以用来参考。这里我们就不细节的说bringup的内容,重点关注一下Camera的bringup。主要涉及到,Camera的软件架构, 例如:Qualcomm比较早期的mm-camera架构,后面的cameraX架构。核心就是Sensor驱动、马达驱动、闪光灯驱动和eeprom的驱动;Hal层的适配和framework、application的打通。具体细节,后面可以专门出一篇详细的聊一下。Camera bringup完成之后,就可以进行对应的tuning工作了。

Camera 客观调试和tuning:

那么,假如我们选择了一家名为GpcColor的Camera模组厂的模组,拿到了第一批的样品(50pic),进行完bringup工作之后。GpcColor的厂家将继续进行批量生产(e.g 10K),并从中挑选出golden sample 给我们,和golden smaple相对的就是limited sample;Camera tuning的工作是要基于golden sample进行。为了保证Camera效果一致性,模组厂会挑选一部分模组作为golden sample,然后将其他模组的相应参数校准到和这些golden一样或者相近,golden sample不是最好的模组,也不是最差的模组,而是在大批次模组中各方面(AWB,AE,AF等等)表现比较均衡模组,这是一个取样的结果,golden是一批模组的代表。具体如何挑选golden模组,后面可以和camera的厂家打听一下。

那么,拿到这个golden smaple之后,我们会对装机(对机器一致性要求比较高,通常是evt2或者dvt)之后,golden sample进行取图,并进行3A的tuning。这里面不禁想问,camera的模组厂已经对一批要出货的模组做了和golden sample类似的参数。设备厂(ODM)为什么还要做一轮tuning?原因主要有两类:第一,组装成机器之后,还有一层我们的盖板。而盖板和镜头之间也是有很多个体差异的。所以,我们要进行tuning以确定一组适用于设备的camera 模组参数。第二,就是客户偏好。下面的主观tuning就是对应的内容。

Camera 主观调试和tuning:

主观就很好理解了,主要是设计到应用场景的需求。例如,我的设备经常被用于零售行业、服装行业这些对颜色、细节要求比较高的场景,我就需要对应着调整出合适的一组参数来满足客户的需求。通常我们会定义一套我们的标准用于验收最后主观tuning。

这里tuning到最后的结果是,生成一套用于camera ISP(高通ISP)的参数,使得ISP能够根据参数,生成对应偏好的图像并显示出来。

一边认识一边深入!

从sensor到touch,从touch到display,从display到camera,从camera走向更广阔的世界!

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

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

相关文章

Fabric V2.5 通用溯源系统——应用后端GIN框架部分设计

本节对Fabric V2.5 通用溯源系统的应用后端部分做一个简单的介绍,包括目录结构、文件作用、用户注册登录与农产品信息上链过程介绍。此节内容免费发布在TrueTechLabs Fabric学习交流QQ群。 购买专栏前请认真阅读:《Fabric项目学习笔记》专栏介绍 TrueTechLabs Fabric学习交流…

LeetCode 2581.统计可能的树根数目:换根DP(树形DP)

【LetMeFly】2581.统计可能的树根数目:换根DP(树形DP) 力扣题目链接:https://leetcode.cn/problems/count-number-of-possible-root-nodes/ Alice 有一棵 n 个节点的树,节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges…

NLP Seq2Seq模型

🍨 本文为[🔗365天深度学习训练营学习记录博客🍦 参考文章:365天深度学习训练营🍖 原作者:[K同学啊 | 接辅导、项目定制]\n🚀 文章来源:[K同学的学习圈子](https://www.yuque.com/mi…

JSON 文件里的 “$schema” 是干什么用的?

最近我在做一些前端项目,我发现有的配置文件,比如 .prettierrc.json 或者 tsconfig.json 里面都会看到一个 $schema 字段,有点好奇,就查了一下。 什么是 JSON Schema JSON Schema是一种基于JSON (JavaScript Object Notation) 的…

【C++初识】语句

文章目录 1.注释 变量 常量 关键字 标识符命名规则 数据类型 sizeof关键字 数据的输入 运算符2.程序流程结构2.1选择结构2.2循环结构2.21while{循环条件}{循环语句};//满足循环条件,执行循环语句2.22do{循环语句}while{循环条件};//do....whi…

备战蓝桥杯---树形DP基础2

话不多说,直接看题: 这里与前面的树形DP不同,在这里,对于一个节点,它被覆盖的情况有3种,1.被父亲节点覆盖2.自己选3.其中的一个儿子选了。 因此,我们令dp[i][0]表示一定选i,dp[i][1…

GEE入门篇|图像处理(二):在Earth Engine中进行波段计算

目录 波段计算 1.NDVI的计算 2.NDVI 归一化差值的单次运算计算 3.使用 NDWI 的归一化差值 波段计算 许多指数可以使用 Earth Engine 中的波段运算来计算。 波段运算是对图像中两个或多个波段进行加、减、乘或除的过程。 在这里,我们将首先手动执行此操作&#x…

逆序字符串

逆序字符串 题目描述:解法思路:解法代码:运行结果: 题目描述: 输入⼀个字符串,写⼀个函数将⼀个字符串的内容逆序过来。 测试1: 输⼊:abcdef 输出:fedcba 测试2&#x…

Linux信号【systemV】

目录 前言 正文: 1消息队列 1.1什么是消息队列? 1.2消息队列的数据结构 1.3消息队列的相关接口 1.3.1创建 1.3.2释放 1.3.3发送 1.3.4接收 1.4消息队列补充 2.信号量 2.1什么是信号量 2.2互斥相关概念 2.3信号量的数据结构 2.4…

PyTorch深度学习快速入门

PyTorch深度学习快速入门 1.PyTorch环境配置及安装2.python编辑器的选择、安装、配置(pycharm、JupyTer安装)3.为什么torch.cuda.is_available()返回false4.python学习中两大法宝函数(也可用在pytorch)5.pycharm和jupyter&#xf…

基于java+springboot动物检疫信息管理系统设计和实现

基于java SSM springboot动物检疫信息管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…

太实用了!微信自动回复神器,助你轻松社交

在当今社交网络的时代,微信已经成为了一种重要的社交工具,为了更有效地管理微信号和提高社交效率,许多人开始使用微信管理系统,下面就一起来看看它的优势吧。 首先,使用微信管理系统可以实现多个微信号同时登陆&#…

input输入框过滤非金额内容保留一个小数点和2位小数

这篇是输入框过滤非金额内容保留一个小数点和2位小数,金额的其他格式化可以看这篇文章常用的金额数字的格式化方法 js方法直接使用 该方式可以直接使用过滤内容,也可以到onInput或onblur等地方过滤,自行使用 /*** 非金额字符格式化处理* p…

好的测试数据管理,到底要怎么做?

你的组织是否实施了测试数据管理?如果你的组织处理关键或敏感的业务数据,测试数据管理肯定会让组织受益。与测试数据相关的问题占所有软件缺陷的 15%,这一事实强调了测试数据的重要性。本文将准确讨论测试数据经理职责、测试数据经理需要什么…

性能测试-反编译jar

方法一,使用jd-gui 1、官网下载:Java Decompiler 2、下载mac版本后,解压,如下所示: 双击 JD_GUI,提示错误,如下所示: 已经安装了java 17,是java 1.8以上版本&#xff0…

kali linux通过aircrack-ng命令破解wifi密码

相关阅读:如何破解攻击WiFi 百度安全验证https://baijiahao.baidu.com/s?id1764248756021219497&wfrspider&forpc上面2篇文章写得都很不错 一、前期准备工作 1、将无线网卡挂载到Kali上 ​ 将无线网卡插到电脑上,如果弹出检测到新的USB设备&…

springboot223基于springboot的信息技术知识竞赛系统的设计与实现

信息技术知识赛系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装信息技术知识赛系统软件来发…

【生成式AI】ChatGPT 原理解析(2/3)- 预训练 Pre-train

Hung-yi Lee 课件整理 预训练得到的模型我们叫自监督学习模型(Self-supervised Learning),也叫基石模型(foundation modle)。 文章目录 机器是怎么学习的ChatGPT里面的监督学习GPT-2GPT-3和GPT-3.5GPTChatGPT支持多语言…

12.整数转罗马数字

题目:罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X II 。 27 写做 XXVII, 即为 XX…

「算法」常见位运算总结

位运算符 异或 按位异或可以实现无进位相加,所谓无进位相加,就是在不考虑进位的情况下将两个数相加(后面有道题需要用到这种操作) 异或的运算律 ①a ^ 0 a ②a ^ a 0 ③a ^ b ^ c a ^ ( b ^ c ) 有符号右移>> 将一个…
推荐文章