- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Android平台相机开发技术探究
基于Android平台相机开发技术探究 摘要:随着移动终端设备的飞速发展,Android作为移动终端的主流开发平台,其多媒体应用得到广泛普及。相机作为多媒体应用中的一种备受青睐,且拍照功能是Android智能机产品的主要卖点。该文结合作者自身研发经验,分析相机拍照功能的开发模式,常见的拍照技术,及针对相机开发技术存在的问题,对相机性能提升进行探究
关键词:Android;拍照技术;性能提升
近年来伴随Android智能机的广泛普及,各类拍照功能深受消费者喜爱,成为智能机主要卖点。受制于硬件条件,开发者少有机会接触应用层以下相机功能研发,手机厂商也不愿分享相关技术,导致部分开发者的技术研究仅停留在应用层,缺乏系统的Android智能机相机开发经验。本文结合作者自身研发经验,较为全面地分析相机开发技术中存在的问题,并针对这些问题展开研究,给出了解决策略
1.拍照功能开发模式
业界常见拍照功能开发模式有两种:第一种模式是以手机厂商为代表的全栈开发,围绕手机芯片平台相机模组展开的拍照功能研发;第二种模式是以相机应用开发商为代表的纯应用开发,通过Android平台Framework层calD,er~API接口获取图像数据,借助JNI调用App自研算法库完成图像处理工作
第一种拍照模式如图1,手机厂商将核心工作放在平台层(Framework)、硬件抽象层(Hardware-Abstraction-Layer,HAL)层和驱动层去完成,结合算法和其他图像处理方法最大程度挖掘芯片平台的相机拍照能力。厂商自研相机App申请底层上报驱动能力,UI显示底层支持的拍照模式以供使用
第二种拍照模式如图2,相比手机厂商,纯应用开发不依赖硬件设备,算法和图像处理模块上浮使其不受制于芯片平台,但也因此牺牲了相机性能,或因无法调用底层接口而不能向用户提供某些需要硬件支持的拍照功能和拍照特效
无论哪一种开发模式,其初衷都是希望通过技术手段向用户提供更加优质拍照技术
2.常见拍照技术
2.1美颜拍照
市场上备受女性用户追捧的美肤、美颜、美妆等美化功能都是基于人脸检测技术(facial-detection)实现的。国内相关应用开发商和手机厂商一般会采购专精于人脸检测技术的第三方提供的开发包来做二次开发,例如日本欧姆龙(Omron)忪司便是?技术的优秀供应商。目前主流的人脸检测方法有两种:基于特征(feature-based)的人脸检测和基于图像(image-based)的人脸检测。以基于特征的人脸检测方法最为普遍,且将人眼作为首选识别特征。美颜等特效功能运行大致流程如下:
人脸检测算法首先作用于底层相机上报的预览帧或图像帧,识别出人眼后定位眉、眼鼻T型区、嘴、下巴,并将识别数据放人人脸信息结构体中,结构体作为人参传人美颜函数;接着美颜函数仅对原始帧中人脸框区域作美化处理,如:平滑祛皱、增白、大眼、浓眉、隆鼻、丰唇、白牙等;最后输出数据并显示
实际产品中为保证相机预览界面流畅性,避免处理图像卡顿,会根据需要挑选部分美化操作;开发过程中往往需要解决遇内存耗费优化、图像缩放、人脸坐标转换、美化模板套用、光线和色彩调节等一系列问题
2.2伪光场相机
光场相机(Lytro)是近年来较受关注的拍照技术,该技术运用微透镜阵列等硬件设备采集拍摄图像的光场参数(光线的方向、强度等);在后续图像处理时通过还原光场信息来实现例如“先拍照后对焦”等特有功能(也称为重对焦/全焦)。智能手机是一种高度集成化的消费电子产品,受硬件研发难度和生产成本难以控制所限,单依靠在手机相机模组中集成微透镜阵列来实现“先拍照后对焦功能”的设想并不现实,因此借助软件技术来实现便成为一种有效的解决方案
2013年Nokia发布的Lumia920手机率先实现“先拍照后对焦”功能,称为Refocus,即重对焦;2013年华为在Android J版本实现此功能,称为All-focus,即全焦;2014年Google在Android K版本也实现该功能并公布原理:在相机取景时通过运动求取结构算法(Sructure-from-Motion,SfM)及光束法平差来计算相机的3D定位、定向及帧序列中图像特征的3D位置,再利用多视角立体算法(Muhi-View-Stereo,MVS)算参照图上每一个像素的景深,最后根据景深按比例模糊用户选取的焦点以外的场景,以达到视觉上的重对焦效果。需注意的是Google伪光场拍照原理不同于华为等国内厂商,国内厂商的基本原理是:在不同焦距拍摄多张照片上报应用,待用户在图库中使用重对焦功能时,利用算法解析出用户点击处最清晰照片并显示出来。全流程细节如下:
1)用户按下快门拍摄照片,底层驱动控制相机模组马达步进,间隔对
文档评论(0)