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

2024-02-27 13:20

本文主要是介绍我的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走向更广阔的世界!

这篇关于我的NPI项目之Android Camera (四)-- 对应Camera tuning的一些理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752520

相关文章

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4