相机镜头光学中的一些疑难问题的解释

1、变焦和对焦有什么区别?

变焦就是改变镜头的焦距(准确说是像距),以改变拍摄的视角,也就是通常所说的把被摄体拉近或推远。例如18-55mm和70-200mm镜头就是典型的变焦镜头。焦距越长,视角越窄

对焦通常指调整镜片组和底片(传感器平面)之间的距离,从而使被摄物在CCD/CMOS上成的像清晰。

我们通常说的“调焦”一般指“对焦”。有些人认为定焦镜头不能调焦的说法是错误的。

2、为什么镜头的最大光圈处通常成像不佳,或者说“成像比较肉”?

追求成像的锐利应该是所有镜头的追求。镜头的光圈值一般从F1.2 - F32不等,例如F1.8 - F16,对于普通的单反镜头来说,通常成像最锐利的光圈值是F5.6或者F8,为什么呢?这涉及到2个概念,一个是球差、一个是衍射。

衍射:超小光圈处影响锐利度的因素。

衍射(diffraction)是指波遇到障碍物时偏离原来直线传播的物理现象。在经典物理学中,波在穿过狭缝、小孔或圆盘之类的障碍物后会发生不同程度的弯散传播。

与之相关的概念有爱里斑、瑞利判据,感兴趣的可以自行搜索,在此不再展开。

球差:大光圈处影响锐利度的因素。

我们通常看到的透镜成像的简化图中,平行光通过透镜以后汇聚于一点,这点叫做焦点,其实真实的情况并非如此。如下图所示:

光线既然不能完美汇聚,也就不可能产生锐利的成像。当光圈大(光圈F值小)的时候,透镜接收光的圆面很大,于是光线的汇聚处会非常分散,造成成像不锐利。当光圈缩小的时候,透镜接收光的圆面很小,这时候光线经过透镜以后,汇聚处相对来说更集中一些,这样成像也就更加锐利了。

当然一般来说对焦不会非常准确,光圈小的时候景深更深,也会显得更锐利,但这是后话了。

当然,对于实际的镜头来说,镜头内部的镜片是很复杂的,可能有几片甚至十几片镜片,有些镜片的材质还较为昂贵,例如萤石,它们的主要作用其实就是改善镜头的光学素质,校正各种球差、彗差、色散、畸变等等。

例如EF 200mm f/2L IS USM镜头:

3、为什么有些微距镜头不能在远处对上焦?

这就要从成像的最基本公式讲起了。

u是物距,v是像距,F是焦距。

(图中 U = u,V = v,OF = F)

大家都有手机吧,用手机拍照的都知道,手机能对无穷远处(很远处)对上焦,例如你可以对半米远的茶杯对焦,也可以对50米外的高楼对上焦。

但是有些定焦微距镜头却不可以,例如它只能对10厘米处的物体对焦,在其他距离上都不能对上焦。这是为什么呢?

我们看上面的公式:当物距(u)很大的时候,1/u接近于0,此时焦距约等于像距。也就是说此时焦点和像面(底片)重合。

焦距的定义是:指平行光入射时从透镜光心到光聚集之焦点的距离。

我们通常认为定焦镜头的焦距不变,这种说法当然没有什么问题,但值得注意的是:焦距是在平行光入射的情况下定义的。另外一种准确的说法是:定焦镜头像距不变、视角不变。

普通定焦镜头可以认为焦距不变。例如50mm  F1.8, 它的最近对焦距离是450mm,物距比450mm小一点点。根据上面的公式,此时1/u就非常小了,可忽略,此时v≈F,即焦点落在像面上。可认为焦距基本不变。

但是对于佳能“百微”和尼康“105微”这样的微距镜头来说,最大放大比例是1倍,此时对焦距离就很近了,此时相对于焦距来说,1/u就不可以忽略了,这时算出来的实际的透镜焦点到光心的距离就不等于之前的焦距了。

对于“百微”和“105微”这样的镜头来说,由于其极特殊的光学结构,既可以在无穷远处合焦,也可以在很近的“不同”位置合焦。这是靠移动镜头内部的多组镜片组实现的。

说了这么多,还是没有解释为什么有些微距镜头只能在确定的位置对焦啊。为了简化问题且易于理解,我以单反加装近摄接圈为例,很多玩单反的微距爱好者由于囊中羞涩应该都买过近摄接圈进行微距创作,如果是50mm定焦镜头加近摄接圈,那么镜头的合焦距离就是一个确定的距离。如果是18-55mm变焦镜头加近摄接圈,那么镜头的合焦活动范围就是很小的一段距离。为什么呢?

插一句,接圈是什么?接圈就是一截接口处有螺纹或者卡口的钢管。好比你想够到高处的东西,所以你踩在一个凳子上面,脚底到地面的距离强行拉大了。接圈就相当于凳子。

说到接圈这又涉及到一个概念——法兰距。法兰距就是镜头卡口到相机底片的距离。那么你接了一个接圈就相当于强行拉长了法兰距。

还是看之前的公式:

由于你强行拉长了法兰距,像距v必然变大很多。而焦点到光心的距离F基本变化不大,所以像距u会大大较小。假设加了接圈以后,像距v = 2F ,那么此时u = 2F ,也就是只有物距等于2F的时候才能完美合焦。这就解释了为什么有些微距镜头不能在无穷远处对焦。也解释了,为什么变焦镜头加了接圈以后合焦活动范围有很小的一段距离,而不是固定的距离。(因为变焦镜头的焦距变化范围大一些)

4、什么是有限共轭镜头,什么是无穷共轭镜头?

我们在数学里学过共轭复数,共轭根,由此可知共轭指的是某种互相对应的2个点或者两个元素。像点和物点就是一组共轭点。又涉及到两个乱七八糟的概念叫做入瞳和出瞳,在此不展开。

无穷共轭镜头的意思是:像点对应的物点在无穷远处(可以理解为很远处)。

例如这种:

有限共轭镜头:像点对应的物点只能在有限的距离内。如下所示:

很明显,手机摄像头、普通镜头都是无穷共轭镜头,而工业微距镜头大多是有限共轭镜头,像“百微”、“105微”这样的奇葩,既可以是无穷共轭镜头,又可以使有限共轭镜头。

5、工业中,红光和蓝光使用上有什么区别?

这需要分两个方面来讲。

解像力方面:蓝光由于波长更短,衍射效应更弱,因此刻画细节的能力更强,拍摄微小的物体,蓝光是首选。而红光呢,黑白CCD对红光更敏感,但其实这优势并不大,或许在需要尽量减轻环境光干扰的时候,有一点作用。(后面可以知道,红光源的优势是价格比蓝光源便宜一些)

拍摄彩色物体方面:很多人认为区分彩色物体一定需要彩色相机,其实不然。

对于一幅RGB彩色图,转为有明暗变化的灰度图时,遵循的公式通常是这样的:

结果亮度灰阶值 = 30%红色 + 59%绿色 + 11%蓝色

也就是说,不同颜色的物体转为灰色时,亮度是不一样的。更神奇的是,当你给物体打某种颜色的光的时候,再用黑白相机拍,得到的灰度图片又不一样。如下图所示:

有人说,你费这么大劲干嘛,用彩色相机拍不就得了?首先不同相机价格差异因素是一方面,更重要的是,黑白图片的数据量只有彩色图片的1/3,这种差异就会体现在图像处理的速度上。生产速度对于工业生产来说是极为重要的。

规律大致可以总结如下:用红色光给彩色物体打光,然后用黑白相机拍摄,物体红色的部分变成亮白色,物体白色部分变成浅灰色,跟红色差异大的颜色则变成暗黑色,黑色还是黑色。(具体转换公式不详)

还有一点需要注意的是,红色光源通常要比蓝色光源便宜。红色LED光源制作简单,早就发明了出来,而蓝色LED的研制则晚了许多,2014年的诺贝尔物理学奖授予了3位曾经在蓝光LED研制方面做出卓越成就的科学家,由此可见一斑。

6、为什么工业领域绝口不提ISO这个参数?

做工业机器视觉的工程师一般都知道光圈、快门(曝光时间),但你要问他什么是ISO,他多半不知道。工业机器视觉领域有没有ISO这个参数呢?有的,只不过换了个名字,叫做gain(增益),这个参数一般没人调它,一般也不用调。

光圈、快门时间、ISO是取得合适曝光的三驾马车,三者互相合作也互相制约。ISO通常取值为100-3200。

通常ISO越高,相机感应光的能力越强,相应的噪点也越多,画质也越差。对于每一个摄影师来说,绝大多数情况下,他都希望把ISO固定在100,因为这可以获得最纯净的画面,但这几乎是不可能的。因为在暗光环境下,ISO太低,只能强行调大光圈,但是光圈是有限的,因此只能增加快门时间,但是快门时间一长,手持拍摄必然糊片。

但是在工业领域一般不存在这个问题(或者说这个问题是次要问题),一是因为工业相机一般不动,曝光时间很长也不会糊片,另外,工业视觉设备光源自带,几乎不存在暗光环境。

7、为什么是光源的亮度越高越好?

高亮度光源至少有这些好处:光源亮度高,快门时间就能降下来,有可能可以提高采图速度;其次光源亮度高,可以大大减轻环境杂光的影响;另外,光源亮度高,可以将光圈缩小,而通常缩小光圈可以得到更锐利的画面和更大的景深,这些对于机器视觉系统来说是极为重要的。所以选择光源的时候,光源亮度越高越好。

8、什么是单颗像素质量?

单颗像素指的是传感器上的一颗像素,单颗像素质量通常直接和像素颗粒的大小有关。例如有的相机的像素颗粒是5um × 5um,而很多手机的像素颗粒大小是1.12um × 1.12um,或者1.3um × 1.3um,这个数值越大,表明单颗像素质量越好。

主要原因是,像素之间存在电讯干扰,像素颗粒越小,那么相当于相邻像素的间距越小,那么越容易产生相互干扰,带来的结果是画质纯净度的下降。

好比一个小广场有1000个大妈在跳广场舞,每个人只分到1㎡的空间,这么挤大妈们很可能要干架,但是如果只有10个大妈在跳广场舞,那么就宽敞舒服多了,说不定跳完广场舞还可以摆3张桌子打打斗地主,当然剩下一个可以等轮换。

作者:xh6300
出处:http://www.cnblogs.com/xh6300/

--------------------------------------------

本文系原创作品,转载请注明出处。如果您认为文章对您有帮助,可以点击下方的【好文要顶】或【关注我】;如果您想进一步表示感谢,可以通过网页右侧的【打赏】功能对我进行打赏。感谢您的支持,我会继续写出更多对大家有帮助的文章!文章有不理解的地方欢迎跟帖交流,博主经常在线!^_^

分类: 机器视觉, 光学
<div id="blog_post_info">
好文要顶 关注我 收藏该文

xh6300
关注 - 3
粉丝 - 239

+加关注
2
0
<div class="clear"></div>
<div id="post_next_prev"><a href="https://www.cnblogs.com/xh6300/p/6117688.html" class="p_n_p_prefix">« </a> 上一篇:    <a href="https://www.cnblogs.com/xh6300/p/6117688.html" title="发布于 2016-11-30 14:31">halcon的tuple算子功能总结</a>
<br>
<a href="https://www.cnblogs.com/xh6300/p/6291222.html" class="p_n_p_prefix">» </a> 下一篇:    <a href="https://www.cnblogs.com/xh6300/p/6291222.html" title="发布于 2017-01-16 22:15">一张图记住TCP/IP通讯中的IP地址配置</a>
posted on 2016-11-30 22:35  xh6300  阅读(3968)  评论(4)  编辑  收藏  举报

相机镜头光学中的一些疑难问题的解释相关推荐

  1. 非线性光纤光学中分步傅里叶算法(SSFFT)的matlab代码实现

    非线性光纤光学中分步傅里叶算法(SSFFT)的matlab代码实现 SSFFT(分布傅里叶算法)函数代码如下: function [waveform, f_spectrum] = SSFFT_arra ...

  2. matlab中taufft,非线性光纤光学中分步傅里叶算法(SSFFT)的matlab代码实现

    非线性光纤光学中分步傅里叶算法(SSFFT)的matlab代码实现 SSFFT(分布傅里叶算法)函数代码如下: function [waveform, f_spectrum] = SSFFT_arra ...

  3. halcon算法库中各坐标系,位姿的解释及原理

    halcon算法库中各坐标系,位姿的解释及原理 前言 在学习halcon和光学原理的过程中,经常会听到像素坐标系,窗口坐标系,世界坐标系等等,很多时候会一头雾水,这时候一定要仔细甄别,了解其原理,才能 ...

  4. 嵌入式中的 *(volatile unsigned int *)0x500 解释

    C语言中*(volatile unsigned int *)0x500的解释: 如下: (unsigned int *)0x500:将地址0x500强制转化为int型指针 *(unsigned int ...

  5. pythonsys用法_Python中 sys.argv[]的用法简明解释

    Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...

  6. python的objectproperty,python中property(lambda self: object())简单解释,,最后4行lambda

    python中property(lambda self: object())简单解释,,最后4行lambda 最后4行lambda.问题是:如何运作?它们的含义和结果是什么?您能否以简单的方式显示该声 ...

  7. Spring中IOC和AOP的详细解释(转)

    原文链接:Spring中IOC和AOP的详细解释 我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂 ...

  8. 语音识别中的CTC算法的基本原理解释

    原标题:语音识别中的CTC算法的基本原理解释 目前主流的语音识别都大致分为特征提取,声学模型,语音模型几个部分.目前结合神经网络的端到端的声学模型训练方法主要CTC和基于Attention两种. 本文 ...

  9. 姓名学中萍字无根 怎么解释_无根Buildah的工作原理:在非特权环境中构建容器

    姓名学中萍字无根 怎么解释 在以前的文章中,包括无根Podman如何工作? ,我谈到了Podman ,该工具使用户可以管理Pod,容器和容器图像. Buildah是用于构建与Podman互补的Open ...

最新文章

  1. EPSON机器人建立TCP/IP通讯的简单demo
  2. Mac 设置文件默认打开方式
  3. Pandas高级教程之:category数据类型
  4. Jsp+Servlet+Mysql实现的酒店预定管理系统
  5. 在后台Service中直接启动Activity
  6. ubuntu下vim配置成c++开发编辑器
  7. 汇新云智慧城市解决方案——以区块链加速智慧城市建设
  8. Tita 绩效宝:掌握绩效考核对话
  9. 云计算学习之路——Nginx流量控制
  10. Android对抗反编译,非科班程序员求职经历分享
  11. 如何申请Office 365 E5开发者账号,开通OneDrive 5T空间教程
  12. 长沙小吃比较好吃and著名的地方
  13. iOS相册、拍照、iCloud使用
  14. Qt中textEdit文本编辑区设置滚动条自动向下滑落
  15. mv150us无线网卡驱动linux,水星MW150US2.0驱动-水星MW150US无线网卡驱动下载v2.0 官方最新版-西西软件下载...
  16. eclipse refreshing external folders解决方案
  17. django中context_processors的理解
  18. 通俗易懂!一文看懂手机Root的操作与防护
  19. PAT常见错误及原因总结
  20. (筆記) t_vpi_value struct (SOC) (Verilog PLI)

热门文章

  1. R语言需要C语言基础吗,R语言入门(1)-初识R语言
  2. Python学习笔记(字符串、列表、字典)
  3. 云南怎么办理ICP经营许可证?云南办理ICP经营许可证有哪些要求?
  4. Receiver Operating Characteristic(ROC)
  5. 用坚果云同步mysql_使用技巧 | 什么?坚果云还可以同步这些App?
  6. RabbitMQ可视化界面登录不了,报错:Login failed
  7. showdown解析markDown的使用方法
  8. phpAdmin中id字段如何设置自增
  9. 嵌入式开发板模拟器:QEMU
  10. sql查询条件有单引号