感觉这个世界上最幸福的事情就是工作和兴趣结合到一起了。这一阵子总是在听再看有关摄影的种种,今天在objccn上又看到这个,哈哈~

轻轻一按,相机就把光子转化成了比特,于是一张照片就保存到了手机里。

一 一些基本概念

进光量:拍摄一张照片的过程被称之为曝光,曝光也指单位面积上光的数量。曝光有两种结果,一个是欠曝,一个是过曝。如果一张照片过度的欠曝或过曝的话,是很难修复的。

曝光档数:有三个要素可以影响曝光的进光量:快门速度,光圈,ISO。调整这三者中的任意一个让进光量翻倍或减半,就叫改变了“一档”曝光。这三个参数有无数种组合来达到同样进光量的效果。

快门速度:快门速度减慢一半,图像传感器就将捕捉两倍时间长度的光,也就是两倍数量的光子,或者说是两倍的进光量。对于高速运动的物体的摄影,我们可能希望还需要选择一个更快的快门速度,但是我们也可以有意滴选择一个长的快门速度来让物体模糊,以强调其运动感。

感光度(也被称为胶卷速度):用来衡量图像传感器对光的灵敏程度,以及因此带来的曝光噪音。每次将iso加倍,就只需要一半的进光量。但要为此付出代价,那就是相片的噪点将会变多。eg:在iso32时,iPhone传感器得到的图片将会有最少的噪点,但是同时也需要最多的光。在ISO1600时,iPhone图像传感器就只需要1/50的进光量,但是图片会有更多的噪点。

光圈:f/5.6 其中5.6表示镜头焦距与光圈的有效直径比例,光圈f值=镜头的焦距/光圈口径。iPhone的光圈值是固定的,f/2.2。光圈除了影响进光量,还会影响景深。这和对焦有关系,相机中的光学系统会将与相机一定距离范围内的物体渲染清晰。当我们改变光圈时,这个距离范围将变宽或者变窄。

结合:为什么晚上拍出来的照片要比白天拍出来的差?晚上进光量少,为了要有一个可接受的快门速度,自动曝光系统将调高ISO,也许会被调到相机允许的最大值。即使是这样还是不能达到足够的金光,自动曝光还会降低快门速度。这样的组合就造成了画面上更多的噪点,以及图像模糊。

焦距:也成为焦长,是光学系统中衡量光的聚集或发散的度量方式,指从透镜中心到光聚集之焦点的距离。也是照相机中,从镜片光学中心到底片\CCD\CMOS等成像平面的距离。具有短焦距的光学系统比长焦距的光学系统有更佳聚集光的能力。主要是放大倍率和视野角度。广角镜头放大倍率滴,因此可以让相机捕捉更大的区域。长焦镜头失焦就窄的多。

景深:由物距,镜头焦距,镜头光圈值决定。固定光圈时,景深和焦距成反比;固定放大率时,光圈越大景深越小。

有些好的办法可以让我们获得好的自动曝光。iOS的自动曝光逻辑回检查图像的全部部分,然后去猜测想要拍摄和曝光的主题是什么。如果画面一部分特别亮,其他地方又特别暗的话,相机是不能把所有东西都曝光好的。

对焦:相机只能将离相机一定距离范围内的物体渲染清晰,在这个范围内物体就是被聚焦的,而如果太近或太远而导致模糊的,它们就是失焦的。

图像传感器:相当于我们的视网膜,可以讲光火光子转化为电信号。

快门:iOS设备在内的许多小型设备使用的是回转快门。会一行一行的读取图片数据,因为每一行其实不是在同一时间读取的,所以会导致有时候场景中高速移动的物体变得很奇怪。

objccn-相机工作原理的更多相关文章

  1. 2D UI和3D UI的工作原理

    2D UI的工作原理 UI控件的位置在UI Root 的红框(视窗)上,也就是UI控件的z轴,相机的z轴,UI Root的z轴都是0,因为2D UI都是纯粹的2D图片按层次显示,不会不出现三维立体效果 ...

  2. camera理论基础和工作原理

    写在前面的话,本文是因为工作中需要编写摄像头程序,因为之前没有做过这类产品,所以网上搜索的资料,先整理如下,主要参考文章如下,如果有侵权,请联系我:另外,转载请注明出处.本文不一定全部正确,如果发现错 ...

  3. 图解WebGL&Three.js工作原理

    “哥,你又来啦?”“是啊,我随便逛逛.”“别介啊……给我20分钟,成不?”“5分钟吧,我很忙的.”“不行,20分钟,不然我真很难跟你讲清楚.”“好吧……”“行,那进来吧,咱好好聊聊” 一.我们讲什么? ...

  4. WebGL&Three.js工作原理

    一.我们讲什么? 我们讲两个东西:1.WebGL背后的工作原理是什么?2.以Three.js为例,讲述框架在背后扮演什么样的角色? 二.我们为什么要了解原理? 我们假定你对WebGL已经有一定了解,或 ...

  5. camera理论基础和工作原理【转】

    转自:http://www.cnblogs.com/fjutacm/p/220631977df995512d136e4dbd411951.html 写在前面的话,本文是因为工作中需要编写摄像头程序,因 ...

  6. ARKit从入门到精通(2)-ARKit工作原理及流程介绍

    转载:http://blog.csdn.net/u013263917/article/details/73038519 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARK ...

  7. 菜鸟学Struts2——Struts工作原理

    在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...

  8. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  9. HashMap的工作原理

    HashMap的工作原理   HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...

  10. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

随机推荐

  1. JavaScript模板引擎artTemplate.js——为什么使用模板引擎?

    作为一个工作一年的菜鸟,在公司做了几个外包项目,也接触到了不同形式的web开发.其实也没多少,就是javaweb开发和HTML5移动开发,这两者在页面展示的时候的解决方案还是有所不同的. 1.vo+e ...

  2. C 语言学习 第一次作业总结

    第一次的作业是冯老师布置的练习题,需要在pta平台上完成.我这边看不到结果,但是透过冯老师给出的截图,同学们都还是认真的去做的.同时,我这边也布置了一个持续 3 周的作业:熟悉 git 的使用.因为后 ...

  3. SOA总结(图片打开略慢请知晓)

  4. 最简单jquery轮播图效果

    样式部分 <style type="text/css"> *{;;} ul,ol{list-style:none;} #box{width:420px;height:6 ...

  5. JavaScript零基础学习系列一

    JavaScript Js分成三大块: ECMAScript:语言本身,是标准,js是它的一个具体实现 BOM:浏览器对象模型 DOM:文档对象模型 ECMAScript有三种具体实现: JavaSc ...

  6. nodejs中exports与module.exports的区别

    转自--http://www.cnblogs.com/pigtail/archive/2013/01/14/2859555.html 你肯定非常熟悉nodejs模块中的exports对象,你可以用它创 ...

  7. #MySQL 5.7.8 支持Json类型

    As of MySQL 5.7.8, MySQL supports a native JSON data type that enables efficient access to data in J ...

  8. C#安全性记录

    安全性一直是开发中,重中之重的问题.不过平时用的不算特别多,基本上用个MD5,SSL也就到这了.再次记录一下,以免忘记. MD5多次加密 MD5算法是不可逆算法.应用于密码验证,完整性验证这种特征.这 ...

  9. 机器学习笔记-----Fisher判别式

    本文申明:本系列文章为本人原创,如有转载请注明文章原地址. 今天我们机器学习老师在说到周志华老师的<机器学习>这本书的时候,p60页讲到了LDA,但是其中的公式推导省略了很多,现在我来补充 ...

  10. Logstash-5.0同步.json文件到ElasticSearch-5.0配置文件

    logstash/conf/input-file.conf内容如下: input { file { #监听文件的路径. path => ["E:/data_json/*.json&qu ...