Android摄像头回显拍照角度说明
1、摄像头组成
手机摄像头主要由以下几个部分组成:PCB板、DSP(CCD用)、传感器(SENSOR)、固定器(HOLDER)、镜头(LENS ASS′Y)。其中镜头(LENS ASS′Y),DSP(CCD用),传感器(SENSOR)是最重要的三个部分。
重点关注图像传感器
图像传感器
传感器将从镜头上传导过来的光线转换为电信号,再通过内部的DA转换为数字信号。由于传感器的每个pixel只能感光R光或者B光或者G光,因此每个像素此时存贮的是单色的,我们称之为RAW DATA数据。要想将每个像素的RAW DATA数据还原成三基色,就需要信号处理器ISP来处理。
图像传感器是起感光记录作用的元件,和胶卷类似。主要分两种:CCD和CMOS。CCD传感器虽然成像质量好,但是成本较高,并不适用于手机,而CMOS传感器凭借着较低的功耗和价格以及优异的影像品质,在手机领域应用最为广泛。
CMOS传感器又分为背照式和堆栈式两种,二者系出同门,技术最早都由索尼研发,索尼背照式传感器品牌名为“Exmor R”,堆栈式传感器为“Exmor RS”。
相对来说,传感器尺寸越大,感光性能越好,捕捉的光子(图形信号)越多,信噪比越低,成像效果自然也越出色,然而更大的传感器却会导致手机的体积、重量、成本增加。
2、手机摄像头的成像原理
光线进入系统,经过镜头,到达图像传感器,光子打到传感器上产生可移动电荷,这是内光电效应,可移动电荷汇集形成电信号,由于处理器无法识别电荷信号,需要把电信号转化为数字信号,对于图像传感器是cmos的系统不需要外加模数转换器,而对于以ccd作为图像传感器的系统需要A/D转换器,经过模数转换器件,电荷信号转换成数字信号,数字信号经过放大电路进入微处理器,数字信号经过DSP数字信号处理芯片经过存储处理后,传输到屏幕形成和物一样的图像。
3、Camera 预览角度,拍照角度
开发Camera过程中会遇到Camera拍照,获取照片后可以上传照片或者展示给用户。
Camera的图像数据来源于摄像头硬件的图像传感器,这个图像传感器被固定到手机上后会有一个默认的方向,一般默认方向是当手机左侧横放时(手机横放并且手机顶部在左侧)。由于默认图片传感器为横向,大部分手机拍照则是竖向,所以得到的数据依然会是横向的,这时就需要对图片进行旋转。
图像传感器的取景方向与手机正常方向成90读夹角。
由于Camera默认是横向的,竖向拍照时得到的照片和预览的照片会有所不同,因为预览可以利用setDisplayOrientation设置预览角度调节预览图片,但是setDisplayOrientation只是改变了预览的角度,对于拍摄生成的图片依然会拿到原来的未被旋转和默认图片传感器方向相同的数据。而对于前置摄像头预览得到的图片会比后置摄像头多一个镜面效果,两者都需要对拍摄生成的图片进行旋转处理才能得到正常的符合眼睛所看到的预览图片的样式。
4、图片元信息Exif
Exif是一种图像文件格式,实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、方向、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、缩略图等。你可以利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息。
Exif 文件实际是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图。所以你可以使用任何支持JPEG格式的图像工具软件观看 Exif 文件,但图像一旦被修改,Exif 信息可能会永久丢失,故编辑 Exif 必须使用专门的软件。
在线查看图片Exif工具:https://www.gaitubao.com/exif#
参考文献:
https://www.likecs.com/show-203726321.html
https://blog.csdn.net/u013914309/article/details/124692585
https://blog.csdn.net/kongbaidepao/article/details/108654502
https://zhuanlan.zhihu.com/p/366726838
Android摄像头回显拍照角度说明相关推荐
- android自定义相机带方框,Android摄像头开发:拍照后添加相框,融合相框和图片为一副 图片...
为了添加相框,可以新建一个bitmap,依此实例化一个canvas.然后再上面依次画上原图和相框. 在onPictureTaken()函数里,得到原始bitmap后,得到相框,然后调用融合函数. Bi ...
- Android摄像头开发:拍照后添加相框,融合相框和图片为一副 图片
为了添加相框,可以新建一个bitmap,依此实例化一个canvas.然后再上面依次画上原图和相框. 在onPictureTaken()函数里,得到原始bitmap后,得到相框,然后调用融合函数. Bi ...
- android代码修改excel文件格式,Android实现类似execel的表格 能回显并能修改表格内容的方法...
如下所示: 自定义实现一个水平滚动控件HorizontalScrollView package com.example.view; import android.content.Context; im ...
- Android:登录保存回显用户信息或配置文件(sharedpreferences)
登录保存回显用户信息或配置文件(sharedpreferences) 目录 登录保存回显用户信息或配置文件(sharedpreferences) 1.项目目录结构 二.类:MainActivity 三 ...
- android list嵌套list,Android开发日常-listVIiew嵌套webView回显阅读位置
详情页布局结构 需求是回显webview展示网页的阅读位置 方案1: 使用webview.getScrollY()获取滑动到的位置,用setScrollY()回显设置, 但是两个方法都出现了问题,ge ...
- android登录实现回显用户名和密码
基于android的登录例子 程序的流程 1.从布局中取得用户名和密码 2.判断是否为空,为空不进行处理,不为空默认登录成功 3.登录成功后,把用户信息储存在私有目录中 4.用户在次使用app使,去读 ...
- Android Camera相机开发示例、Android 开发板 USB摄像头采集、定期拍照、定时拍照,安卓调用摄像头拍照、Android摄像头预览、监控,USB摄像头开发、摄像头监控代码
我们有个需求,在机器上加个摄像头,定时拍照: 我到网上搜索,发现没有快速上手和简单使用的: 个人感觉,大部分博客写得很乱,或者长篇大论: 而我只想简单实现功能,并不打算学习多少理论: 下面代码是我写来 ...
- android 如何制作可编辑的表格,Android实现类似execel的表格 能回显并能修改表格内容的方法...
如下所示: 自定义实现一个水平滚动控件HorizontalScrollView package com.example.view; import android.content.Context; im ...
- 树莓派android摄像头驱动开发,树莓派开发笔记(九):基于CSI口的摄像头拍照程序(同样适用USB摄像头)...
前话 前面开发完GPIO口的功能,还剩下2个接口,一个是摄像头,一个是显示屏.本篇我们开发一个基于CSI接口的摄像头拍照程序. Demo:摄像头CSI的拍照程序 树莓派摄像头 笔者买的不是USB网络摄 ...
最新文章
- TensorFlow中的ResNet残差网络实战(1)
- 2018年年度总结,以及2019年规划
- windows安装anaconda_[计算机科学工具系列] Anaconda和conda
- java的选项板_CAD工具选项板的介绍以及新建方法
- js获取php单选按钮值,js如何获取radio单选框选中的值
- JS DOM节点增删改查 属性设置
- MPFlipViewController
- Linux Shell 在运维中的经验总结
- Cloudflare泄露客户数据,IT部门可从中吸取什么教训?
- day20: zip压缩工具及打包工具介绍
- python清空屏幕代码_python 清屏
- 社交网络影响力最大化基础知识总结
- 《About Multi-Touch(多点触摸是个什么东西?)》:Sony PS3Eye 介绍、拆解与使用全指南...
- VB中Array函数
- es文件浏览器android看不到文件,es文件浏览器搜索不到电脑解决办法 es文件浏览器找不到电脑...
- (C#)Winform修改DateTimePicker控件的背景色Winform中日期控件DateTimePicker默认是不能修改背景色和边框色的
- 为什么有那么多编码员音乐家?
- b460m迫击炮黑苹果_打造十代i5ES极致性价比黑苹果主机
- 【Git】git pull和git pull --rebase的使用
- codeforces EDU suffix array