数码相机的成像原理,使我对数字图像技术有了新的认识

1.

为了更好地理解原理,让我们从照片的起源讲起。1825年,法国人涅普斯(Joseph Nicéphore Nièpce),拍出历史上第一张照片。

2.

他采用的感光剂是氯化银(silver chloride)。当光线照射氯化银,后者会分解成纯银和氯气,银金属颗粒呈现黑色。因此,底片颜色越深代表光线越强,颜色越浅代表光线越弱。黑白照片就是这样拍出来。

3.

19世纪中期,人们发现,人眼的圆锥细胞对三种颜色----红、绿、蓝----特别敏感。伟大的英国物理学家麦克斯韦因此假设,红绿蓝作为基色,可以拍出彩色照片。

4.

1861年,在麦克斯韦的指导下,人类的第一张彩色照片诞生了。

采用的方法是在镜头前,分别用红丝带、绿丝带、蓝丝带过滤光线,曝光形成三张底片,然后用三部放映机向同一处投影这三张底片,每部放映机的镜头前都拧上对应颜色的镜头,它们的合成效果就是一张彩照。

5.

真正意义上的彩色胶卷,1933年诞生于柯达公司,底片之上依次有三个感光层,分别对红、绿、蓝三种颜色进行曝光,最后叠加形成一张彩色底片。

6.

二战后,计算机诞生,科学家发现图像可以用数字形式表示。如果将光信号转变成电信号,就可以直接拍出数码照片。这意味着,照相机不再需要胶卷,而是需要一个图像传感器(image sensor)。

7.

图像传感器将光线转化成电流,光线越亮,电流的数值就越大;光线越暗,电流的数值就越小。所以,如果用0到255的范围,表示光线的亮度,最亮的光线是白光,数值是十六进制的FF,最暗的光线是黑光(没有光),数值是十六进制的00。

8.

图像传感器的表面,分成若干个捕捉点,每个点都会产生一个数值,表示该点感受到的光线亮度,这就叫做"像素"。像素越多,图像细节就越丰富。如果一台相机的像素是1600x1200,就说明图像传感器横向有1600个捕捉点,纵向有1200个,合计192万个。

9.

但是,图像传感器有一个很严重的缺陷:它只能感受光的强弱,无法感受光的波长。由于光的颜色由波长决定,所以图像传播器无法记录颜色,也就是说,它只能拍黑白照片,这肯定是不能接受的。

10.

一种解决方案是照相机内置三个图像传感器,分别记录红、绿、蓝三种颜色,然后再将这三个值合并。这种方法能产生最准确的颜色信息,但是成本太高,无法投入实用。

11.

1974年,柯达公司的工程师布赖斯·拜尔提出了一个全新方案,只用一块图像传感器,就解决了颜色的识别。他的做法是在图像传感器前面,设置一个滤光层(Color filter array),上面布满了滤光点,与下层的像素一一对应。也就是说,如果传感器是1600x1200像素,那么它的上层就有1600x1200个滤光点。

12.

每个滤光点只能通过红、绿、蓝之中的一种颜色,这意味着在它下层的像素点只可能有四种颜色:红、绿、蓝、黑(表示没有任何光通过)。

13.

不同颜色的滤光点的排列是有规律的:每个绿点的四周,分布着2个红点、2个蓝点、4个绿点。这意味着,整体上,绿点的数量是其他两种颜色点的两倍。这是因为研究显示人眼对绿色最敏感,所以滤光层的绿点最多。

14.

接下来的问题就是,如果一个像素只可能有四种颜色,那么怎么能拍出彩色照片呢?这就是布赖斯·拜尔聪明的地方,前面说了,每个滤光点周围有规律地分布其他颜色的滤光点,那么就有可能结合它们的值,判断出光线本来的颜色。以黄光为例,它由红光和绿光混合而成,那么通过滤光层以后,红点和绿点下面的像素都会有值,但是蓝点下面的像素没有值,因此看一个像素周围的颜色分布----有红色和绿色,但是没有蓝色----就可以推测出来这个像素点的本来颜色应该是黄色。

15.

这种计算颜色的方法,就叫做"去马赛克"(demosaicing)。上图的下半部分是图像传感器生成的"马赛克"图像,所有的像素只有红、绿、蓝、黑四种颜色;上半部分是"去马赛克"后的效果,这是用算法处理的结果。

16.

虽然,每个像素的颜色都是算出来的,并不是真正的值,但是由于计算的结果相当准确,因此这种做法得到广泛应用。目前,绝大部分的数码相机都采用它,来生成彩色数码照片。高级的数码相机,还提供未经算法处理的原始马赛克图像,这就是raw格式(raw image format)。

为了纪念发明者布赖斯·拜尔,它被称作"拜尔模式"或"拜尔滤光法" (Bayer filter)。

(完)

为什么数码相机可以拍出彩色照片?相关推荐

  1. 转 为什么数码相机可以拍出彩色照片?

    为什么数码相机可以拍出彩色照片? 本文转载自阮一峰个人博客,本文的我都指阮一峰. 作者: 阮一峰 日期: 2012年12月 6日 上个月(11月13日),83岁的柯达公司退休工程师布赖斯·拜尔(Bry ...

  2. Linux下用ImageMagick将彩色照片转换成黑白照片

    在网上有很多方法将彩色照片转换成黑白照片,包括一些可在线转换的网站. 但我这篇文章想介绍一个软件ImageMagick,之前一些介绍的用IM将彩色照片转换成黑白照片的方法都是用的-monochrome ...

  3. html用图片代替color,Image Colorizer - 将黑白照片变为彩色照片在线工具

    相信很多人家里都有一些黑白照片,毕竟在那个年代里只有黑白照片,虽然黑白照片别有一番风味,但还是比较好奇如果这些照片是彩色的是不是更好看,今天小编就给大家推荐一款将黑白照片变为彩色的在线工具--Imag ...

  4. 黑白照片转换成彩色照片(无需任何编程)

    单张情况 直接点击这个链接点这里,就可以进行图片转换了,但是百度对传入的图像有要求,传入的图像如果是jpg格式,那么不能大于2M. 多张情况 如果要多张,甚至更多,超过1000张,都没关系,只要存放到 ...

  5. (原创)[短小精悍系列]RGB(RGI/RGV)颜色明度(亮度)计算公式 (又称灰度公式,彩色照片转黑白照片时能派上用场)

    作者:❄️固态二氧化碳❄️ (主页) 链接:(原创)[短小精悍系列]RGB(RGI/RGV)颜色明度(亮度)计算公式 (又称灰度公式,彩色照片转黑白照片时能派上用场) - 固态二氧化碳的博客 - CS ...

  6. ps彩色照片变黑白照片

    ps彩色照片变黑白照片 最佳答案: 选择图像菜单 模式 灰度模式 这样就可以了 记得另存一个 否则以后是 无法恢复彩色模式的

  7. 手机sd卡中的图片误删?Mac数码相机中的照片丢失?

    手机sd卡中的图片误删?Mac数码相机中的照片丢失?PHOTORECOVERY Professional 2019 Mac是一款专业的图片数据恢复软件,主要用于恢复数码相机以及手机sd卡中误删除的图片 ...

  8. 数码相机里的相片可以利用计算机,把数码相机里的照片上传到电脑上的方法

    把数码相机里的照片上传到电脑上的方法 朋友们,你们知道如何把数码相机里的照片上传到电脑上吗?下面小编为您收集整理了把数码相机里的照片上传到电脑上的方法,希望对您有帮助! 把数码相机里的照片上传到电脑上 ...

  9. 黑白照片变彩色照片工具_如何确定照片何时应为黑白

    黑白照片变彩色照片工具 When you first start getting into photography, it's very easy to fall into a habit of co ...

最新文章

  1. linux dns中文域名,Nginx 中文域名配置详解及实现
  2. zabbix入门之监控MySQL
  3. Ubuntu通过可视化界面配置 查找IP地址不存在的解决办法
  4. 大数据分析方法管不管用
  5. python解析多层json数据_python解析多层json操作示例
  6. 如何零代码制作日报、周报管理系统?
  7. c# gerber文件读取_必须收藏的一篇关于:AD18生成gerber文件及用CAM350读取gerber教程...
  8. tomcat优化笔记
  9. 【面试题】Java三大特性封装继承多态总结
  10. 如何破解无线网密码进行上网
  11. 计算机游戏屏幕中,电脑屏幕上的游戏怎么录制
  12. N-Gram模型介绍
  13. linux中rcf命名管道,RCF的简单使用教程以及什么是回调函数
  14. html5密码确认属性,HTML5表单及其验证【html自带属性验证】
  15. 【有效】vscode中markdown导出pdf报错解决: ERROR: Navigation Timeout Exceeded: 30000 ms exceeded
  16. linuxcentos6笔记
  17. SQL开发管理工具,SQL Studio成数据库管理工具热门
  18. JVM---垃圾回收概述及相关概念
  19. Python:向ndarray中插入一个元素
  20. wps office 2005:不得不用的14绝技

热门文章

  1. 高通平台的耳机检测(msm8909)
  2. 从你的全世界路过—一群程序员的稻城亚丁游记
  3. 揭秘Facebook北极圈数据中心 日处理45亿赞
  4. Centos文件夹目录中文变英文
  5. 关于ElementUI 图标字体无法正常显示异常问题处理
  6. 各操作系统支持图标字体的终端推荐
  7. matlab画带方差的柱状图,带方差的柱状图
  8. 什么是cert文件?
  9. vb安装过程中 ntvdm.exe[9696]中发生未处理的win32异常 vb代写
  10. 写好简历的16个关键点