小谈相机的学习过程

前言

博主本人并非专职相机开发,还涉及系统的其他几个模块,虽然都属于owner,但是都还在学习探索的一个过程,自认为掌握还不够细致,此篇文章仅梳理,总结,印证自己近五年相机模块的一个学习过程,以及对后续相机学习的一个方向,讲的也是比较宽泛,后续有空的话会考虑挑几个实用且常见的一些应用流程详细讲一下,但也希望能挤出时间来,博主实在太忙了~

1.Camera LV1

我最早接触的相机肯定是高通Android系统相机,刚接触的时候我便对它产生了浓厚的兴趣,为啥可以有这么多有趣的功能,轻轻点一下按钮,怎么就能将空间时间都定格放到了图片,视频里了呢,这也太神奇了吧,这是怎么做到的啊,我开始了解相机是由什么组成的,当然是从软件层开始了解它,软件层的相机是由什么组成的呢,慢慢的我把他大致分成拍照和录像两大模块,按照功能区分,拍照是怎么拍照的呢,录像是怎么录像的呢,但这些都离不开相机的openCamera,startPreview的过程,不断去细扣源码,从上层到底层,并将所能接触到的平台所有相关的知识进行疯狂汲取,对所有能认识的同学积极请教,学习和分享,这大概是我最初时间里快速成长的原因之一,再后来从A8到A15系统升级,相机不同平台和硬件兼容适配,逐渐加深对系统相机的认识。

2.Camera LV2

这个时候非常熟悉的了解软件层的相机启动的过程,慢慢了解到相机软件与相机服务的联系,相机3A,NR,EE等算法原理,还有美颜这些常见算法,开始熟悉相机效果调试,了解主观测试,客观测试;实现相机服务定制相关需求;开始熟悉相机debug的一些方式,相机遇到的一些问题的定位,例如灰屏,红屏,闪屏,花屏,相机无法连接,相机崩溃,以及各类三方应用调用提供support以及fix方案;为业务相机组件以及测试相机调试提供技术支撑,解决所遇到的各种Camera技术屏障。

3.Camera LV3

这个阶段我开始研究并设计系统相机横屏方案,因为原生平台相机是基于竖屏开发的,最终独立完成将竖屏相机适配成横屏相机,大幅优化用户使用体验;又或者将谷歌原生的相机深度定制化,实现基于产品需求客制化系统相机应用落地,这两个成熟系统相机设计方案目前都以上线,上线多年目前看市场反应良好,几乎没有相关的用户反馈和投诉,获得了市场和用户的广泛认可。

4.Camera LV4

这个阶段得我非常痴迷相机的硬件结构,也就是相机硬件的组成部分,相机成像的原理,这个时候也是斥巨资买了专业数码相机,在图书馆花了近一年半的时间学习并实践各种专业摄影技术,省图书馆相关的书籍也是被我几乎翻了个遍,在此期间,也是开始探索手机相机硬件,软件未来的发展方向。

5.Camera LV5

这个时候我能熟练的排查相机的各种问题了,从上至下,定位相机本身的各种异常,以及三方应用调用相机时候出现的各种异常问题快速分析定位并解决,开始着手相机性能优化,以及功耗优化的探索,在此期间通过探索上述优化,不断提升用户使用体验。

6.Camera LV6

这个阶段开始潜心钻研未来Android相机的发展,例如聚焦后续相机的模组的优化方向,相机sensor的硬件提升方向,更丰富的相机算法,相机软件提供更多实用且便捷的创新功能等。相机一直在旗舰手机里面作为一个关键的核心卖点,所以摸清相机的发展方向是很重要的,最重要的还是创新能力,探索精神,我也是很期待未来手机相机出色表现,科技带来的不一样的风景,所见即所得,所想即所得~

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习