当前位置: 首页 > news >正文

小谈相机的学习过程

前言
博主本人并非专职相机开发,还涉及系统的其他几个模块,虽然都属于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的硬件提升方向,更丰富的相机算法,相机软件提供更多实用且便捷的创新功能等。相机一直在旗舰手机里面作为一个关键的核心卖点,所以摸清相机的发展方向是很重要的,最重要的还是创新能力,探索精神,我也是很期待未来手机相机出色表现,科技带来的不一样的风景,所见即所得,所想即所得~

http://www.dtcms.com/a/287503.html

相关文章:

  • 软考 系统架构设计师系列知识点之杂项集萃(112)
  • jvm-sandbox-repeater 录制和回放
  • 基于深度学习的微表情识别算法研究
  • 智慧园区工程监控与工单管理系统需求文档
  • Go语言里的map
  • RocketMQ源码级实现原理-NameServer路由机制
  • 解锁C++性能密码:TCMalloc深度剖析
  • 低代码平台ToolJet实战总结
  • Java学习--------消息队列的重复消费、消失与顺序性的深度解析​
  • n8n教程分享,从Github读取.md文档内容
  • Redisson RLocalCachedMap 核心参详解
  • Astro:前端性能革命!从原生 HTML 到 Astro + React 的升级指南
  • Flutter基础(前端教程①⑤-API请求转化为模型列成列表展示实战)
  • 前端面试专栏-工程化:28.团队协作与版本控制(Git)
  • 运用KANO模型分析扫地机器人用户需求
  • LangGraph教程9:LangGraph检查点和Send机制
  • Linux 基础命令:文件和目录操作、文件内容查看、进程管理
  • 【嵌入式电机控制#16】电流环(三):过采样提高采集精度看门狗监测总线电压
  • Nginx 实战 :使用logrotate实现日志轮转与保留策略!
  • 【数据结构】二叉树初阶详解(一):树与二叉树基础 + 堆结构全解析
  • 2025 Data Whale x PyTorch 安装学习笔记(Windows 版)
  • Kotlin方差
  • 403 Forbidden:无权限访问请求的资源如何处理
  • Apache Kafka 学习笔记
  • FreeRTOS—列表和列表项
  • Kafka、RabbitMQ 与 RocketMQ 高可靠消息保障方案对比分析
  • 阿里云服务器 CentOS 7 安装 MySQL 8.4 超详细指南
  • UniApp 优化实践:使用常量统一管理本地存储 Key,提升可维护性
  • 【无标题】重点阅读——如何在信息层面区分和表征卷曲维度,解析黑洞内部的维度区分机制
  • 基于 Google Earth Engine 的 DEM 鞍部自动提取