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

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.mzph.cn/news/704459.shtml

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

相关文章

消息中间件相关介绍

一、消息中间件相关知识 1、概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ&am…

【iOS ARKit】ARWorldMap

ARWorldMap 用于存储 ARSession 检测扫描到的空间信息数据,包括地标(Landmark)、特征点(Feature Point)、平面(Plane)等,以及使用者的操作信息,如使用者添加的 ARAnchor …

数据采集设备:安装过程的要点与注意事项

在当今的数据驱动世界,数据采集设备在各行各业中发挥着至关重要的作用。从工业生产到环境监测,再到医疗诊断,数据采集设备为我们提供了大量有价值的信息。然而,要想充分发挥这些设备的潜力,首先需要确保它们被正确地安…

黑马程序员——接口测试——day03

目录: Potman断言 Postman断言简介Postman常用断言 断言响应状态码断言包含某字符串断言JSON数据Postman断言工作原理Postman关联 简介实现步骤核心代码创建环境案例1案例2Postman参数化 简介数据文件简介编写数据文件 CSV文件JSON文件导入数据文件到postman读取数…

杂题——亲密数

题目描述 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。 输入格式 无 输出格式 3000以内…

【AHK】68键键盘键位布局优化/esc改退格键/回车键

本人习惯使用~作为退格键,但是由于keychron 68键的布局只能用esc平替~来修改,然后也将回车键通过alt和大小写锁定键一起触发 esc::bs ;次步骤与下面步骤相对应,如果是用send bs方式则下面的不生效^esc:: ;通过建立 保留esc功能 send {esc} re…

啊丢的刷题记录手册(洛谷题单排序篇)

1.洛谷题P1923 求第k小的数 题目描述 输入 n&#xff08;1≤n<5000000 且 n 为奇数&#xff09;个数字ai​&#xff08;1≤ai​<109&#xff09;&#xff0c;输出这些数字的第 k 小的数。最小的数是第 0 小。 请尽量不要使用 nth_element 来写本题&#xff0c;因为本题…

换档控制支架的尺寸优化

前言 本示例使用优化模块&#xff0c;通过在保持原始重量的同时改变壳体厚度&#xff0c;使冲压钣金支架中的应变能之和最小化&#xff08;使刚度最大化&#xff09;。 本页讨论 前言应用描述Abaqus建模方法和仿真技术文件参考 应用描述 本示例说明了汽车变速箱连杆中使用的…

亿道丨三防平板pad丨三防平板是指哪三防丨三防工业级平板电脑

三防工业级平板电脑成为许多行业中的重要工具。本文将介绍三防工业级平板电脑的特点以及其在各个领域中的广泛应用。 三防工业级平板电脑的特点 三防工业级平板电脑是指具备防水、防尘和防震功能的平板电脑。这些特点使得它们能够在恶劣环境中工作&#xff0c;如沙尘飞扬的工地…

sockaddr结构体、sockaddr_in结构体和gethostbyname函数

sockaddr结构体 sockaddr结构体是在网络编程中经常使用的一个数据结构&#xff0c;用来表示套接字地址。它是一个通用的地址结构&#xff0c;可以用于不同的协议&#xff08;如IPv4、IPv6、UNIX等&#xff09;。 在C语言中&#xff0c;sockaddr结构体定义如下&#xff1a; s…

交换两个整数

交换两个整数 题目描述&#xff1a;解法思路&#xff1a;解法代码&#xff1a;运行结果&#xff1a; 题目描述&#xff1a; 写⼀个函数Swap&#xff0c;可以交换两个整数的内容。注意必须实现成函数完成。 输入2个整数&#xff0c;调用自定义函数Swap&#xff0c;完成2个整数的…

C++面试 -操作系统-代码能力:用户态和内核态的基本概念、区别

目录 一、基本概念 概念&#xff1a; 区别&#xff1a; 二、Windows示例 基础介绍 用户态到内核态的切换过程&#xff1a; 程序实例 三、Linux示例 特权级别&#xff1a; 用户态到内核态的切换过程&#xff1a; 调度和中断处理&#xff1a; 程序实例 总结 在操作系…

Java多线程面试题(三)

Java多线程面试题&#xff08;三&#xff09; 前言1、Thread 类中的 yield 方法有什么作用&#xff1f;2、Java 线程池中 submit() 和 execute()方法有什么区别&#xff1f;3、Java 中的 ReadWriteLock 是什么&#xff1f;4、可以直接调用 Thread 类的 run ()方法么&#xff1f…

【升级JDK21】遇到:服务配置文件不正确, 或构造处理程序对象

RROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile(default-compile) on project tr-public-opinion-collector-start: Compilation failure [ERROR] 服务配置文件不正确, 或构造处理程序对象javax.annotation.processing.Processor:…

【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章

Stage模型-基本概念 名词解释 AbilityStage:应用组件的“舞台“ UIAbility:包含UI界面的应用组件&#xff0c;是系统调度的基本单元 WindowStage:组件内窗口的“舞台“ Window&#xff1a;用来绘制UI页面的窗口 HAP:Harmony Ability Package(鸿蒙能力类型的包) HSP:Harmony Sh…

C++17之折叠表达式

相关文章系列 深入理解可变参数(va_list、std::initializer_list和可变参数模版) 目录 1.介绍 2.应用 2.1.使用折叠表达式 2.2.支持的运算符 2.3.使用折叠处理类型 3.总结 1.介绍 折叠表达式是C17新引进的语法特性。使用折叠表达式可以简化对C11中引入的参数包的处理&…

合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言 前不久报名了合泰杯竞赛项目&#xff0c;然后手上也是有一个HT66F2390的开发板&#xff0c;我就打算先从点灯开始&#xff0c;学习一个新的芯片第一步都是先成为点灯大师。 一开始&#xff0c;我在网上搜寻了许多的代码示例&#xff0c;希望能够顺利实现LED的控制。然而&…

LeetCode第七题: 整数反转

题目描述 给你一个 32 位的有符号整数 x​ &#xff0c;返回将 x​ 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1]​ &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例 …

软考笔记--企业资源规划和实施

企业资源是指企业业务活动和战略运营的事物&#xff0c;包括人、财和物&#xff0c;也包括信息资源&#xff0c;同时也包括企业的内部和外部资源。企业资源可以归纳为物流&#xff0c;资金流和信息流。企业资源规划&#xff08;ERP&#xff09;是只建立在信息技术基础上&#x…

如何卸载Erlang以及RabbitMQ

参考以下两篇文章 https://blog.csdn.net/m0_49605579/article/details/130196536 Windows如何完全卸载RabbitMQ和Erlang_删除注册表hkey_local_machine\software\ericsson\erlang\e-CSDN博客 首先我是按照链接一的操作进行了卸载&#xff0c;但是Erlang的安装目录一直删除不…