[OpenCV实战]42 数码单反相机的技术细节
在这篇文章中,我们将说明数码单反相机DSLR(Digital Single Lens Reflex Camera)的各个技术方面。本文将说明焦距(focal length),f-stop,景深(depth of field),光圈(aperture),快门速度(shutter speed),ISO设置(ISO setting),图像稳定(image stabilization)和自动包围曝光( auto exposure bracketing)。
数码单反相机(或单反相机——数码单反、单反、反光镜)是一种数码相机,它使用镜子机制将光线从相机镜头反射到光学取景器上,或者让光线传递到图像传感器以拍摄照片。从本质上讲,相机的镜面使您可以在取景器中查看图像,并且在拍摄照片时,该镜面会向上翻转以供图像传感器使用。让我们研究一下数码单反的一些技术方面,并了解它们的确切含义。
1 焦距Focal Length
透镜的焦距是透镜将平行光束聚焦到一个点的距离。通常情况下,图像传感器被放置在焦点上,这样被拍摄的对象就对焦了,通常以毫米为单位。焦距可以告诉我们特定镜头的视角--也可以告诉我们使用该镜头时能捕捉到多少场景。焦距也给人一种放大的感觉。
焦距越短,视角就越宽。同样,焦距越长,视场就会越窄,也会越“放大”。
2 景深depth of field
当涉及到摄影时,景深是最广为人知的术语之一-尽管如果你不熟悉它的确切含义,你可能没有在你的照片中最大限度地利用它。从理论上讲,当我们把镜头对准一个物体时,镜头会对焦,以便在离镜头一定距离处拍摄清晰的图像。距离这一距离更近或更远的任何东西都是模糊的,这种效果称为景深效果。本质上,景深是指图像中元素清晰出现的清晰区域。此焦点区域可以浅或深。浅景深意味着背景模糊,被摄体突出在焦点上。深景深意味着背景和拍摄对象一样清晰。
在景深方面,以下三个主要因素将影响您的控制方式:
2.1 光圈The Aperture
光圈是让光线进入相机的开口,大光圈意味着较小的焦比(f-number,相对孔径)和较浅的景深。小孔径意味着更大的f值和更深的景深。关于焦比(f-number)具体见:焦比介绍
2.2 拍摄对象到相机的距离The Subject’s Distance to the Camera
景深越浅,被摄对象离相机越近。随着照相机远离被摄物体,景深变深。
2.3 镜头焦距Focal Length of the Lens
为简单起见,焦距越长,景深越浅。
3 光学稳像Optical Image Stabilization
光学图像稳定功能可补偿照相机或镜头的移动,以产生更清晰的图像。有两种类型的图像稳定器:
- 镜头稳定:在这种情况下,稳定装置位于镜头内。镜头制造商声称,使用这种方法可以实现出色的稳定性,因为可以根据各个镜头的大小,重量和焦距对其进行微调。镜头稳定也更适合大镜头和弱光环境。
- 相机内稳定:在这种情况下,可以通过调节相机内部的传感器来实现稳定。它适用于所有镜头,这意味着您可以购买更轻,更便宜的镜头(因为您的相机已经可以从内部稳定下来)。
要了解有关图像稳定的更多信息,请单击此处。
4 曝光时间Exposure Time
曝光是三个因素的组合,可以共同告诉我们传感器上积累了多少光以形成图像。
- 光圈Aperture:如前所述,光圈是指控制进入相机的光量的开口大小。它是以f光圈为单位测量的。把光圈想象成你家里的百叶窗--百叶窗开得越多,透进来的光就越多。当镜头上的光圈打开时,更多的光会累积在传感器上。光圈数越小,光圈越大。光圈数越小,开口越大,光线越多,景深越浅。或者,光圈数越大,开口越小,光线越少,景深越深。
- 快门速度Shutter speed:控制快门保持打开状态的时间,以使光线积聚在传感器上。百叶窗打开的时间越长,传感器接收到的光线越多。但是,如果要拍摄的场景中有快速移动的物体,则希望快门速度快以避免运动模糊。
- ISO设置ISO setting:此设置是指传感器对光的敏感度。灵敏度越高(例如3200),则正确曝光所需的时间越短,所需的光量也就越少。较高灵敏度的缺点是较高的噪声水平。在阳光明媚的日子使用ISO为100,因为光线充足,通过降低感光度,我们可以减少图像中的噪点。另一方面,在弱光条件下拍摄运动物体时,我们可能别无选择,只能使用较高的ISO设置。
5 F-stop
f光圈设置确定允许多少光进入镜头并通过,它还决定了被摄体前后的焦距(景深)。
光圈和f-stop的区别在于光圈是指透镜圆形入口的直径(以毫米为单位)。f-stop是指焦距与光圈直径的比值(f-stop=焦距除以光圈直径)。
6 自动包围曝光Automatic Exposure Bracketing
自动包围曝光(AEB)用于拍摄HDR照片。许多数码单反相机都配备了自动包围曝光功能,可以帮助摄影师在不同的曝光设置下自动拍摄场景的多张图像。
7 相机自动对焦Camera Autofocus
相机的自动对焦系统知道如何调整相机镜头以帮助使被摄物体聚焦。每个传感器都会评估图像中各个点的对比度变化,并有助于获得最大的清晰度。影响自动对焦的三个因素是光线水平,被摄体对比度以及被摄体或相机的运动。当相机尝试自动对焦时,它会将光圈最大程度地打开以允许更多的光线。相机具有良好的自动对焦,就像拥有完美的视觉效果一样,它可以提供高清晰度,细节和鲜明的场景。
8 RAW格式RAW Format
图像中的像素由R,G和B这三种颜色组成。但是,传感器没有为每个像素提供三个通道。传感器包含一个元素网格,其中每个元素记录红色,绿色或蓝色。该网格图案称为拜耳阵列。拜耳阵列具体信息见:https://blog.csdn.net/edogawachia/article/details/84963652
此外,DSLR相机传感器通常记录大约12位信息,而不是我们最终看到的8位信息。该12位图像通常称为RAW图像。通过从RAW图像的相邻像素进行插值计算每个元素的R,G和B像素值,然后使用色调映射算法将信息的12位转换为每通道8位。
以RAW拍摄时,可以为最终图像提供灵活性。如果以RAW拍摄,则计算机(而不是照相机)将处理数据并从中生成图像。使用RAW拍摄还可以更好地控制后期处理后的图像外观,并在拍摄场景时留有错误和错误的余地。
如果您想扩大摄影领域,那么数码单反相机将迅速成为无价之宝。从曝光到自动对焦,再到光学图像稳定-我们希望将数码单反的这些简单(但必不可少)的技术要素绘制出来,将对您的摄影之旅有所帮助!
9 参考
https://www.learnopencv.com/technical-aspects-of-a-digital-slr/
[OpenCV实战]42 数码单反相机的技术细节的更多相关文章
- OpenCV实战:人脸关键点检测(FaceMark)
Summary:利用OpenCV中的LBF算法进行人脸关键点检测(Facial Landmark Detection) Author: Amusi Date: 2018-03-20 ...
- [OpenCV实战]48 基于OpenCV实现图像质量评价
本文主要介绍基于OpenCV contrib中的quality模块实现图像质量评价.图像质量评估Image Quality Analysis简称IQA,主要通过数学度量方法来评价图像质量的好坏. 本文 ...
- [OpenCV实战]50 用OpenCV制作低成本立体相机
本文主要讲述利用OpenCV制作低成本立体相机以及如何使用OpenCV创建3D视频,准确来说是模仿双目立体相机,我们通常说立体相机一般是指双目立体相机,就是带两个摄像头的那种(目就是指眼睛,双目就是两 ...
- [OpenCV实战]49 对极几何与立体视觉初探
本文主要介绍对极几何(Epipolar Geometry)与立体视觉(Stereo Vision)的相关知识.对极几何简单点来说,其目的就是描述是两幅视图之间的内部对应关系,用来对立体视觉进行建模,实 ...
- [OpenCV实战]23 使用OpenCV获取高动态范围成像HDR
目录 1 背景 1.1 什么是高动态范围(HDR)成像? 1.2 高动态范围(HDR)成像如何工作? 2 代码 2.1 运行环境配置 2.2 读取图像和曝光时间 2.3 图像对齐 2.4 恢复相机响应 ...
- opencv实战——图像矫正算法深入探讨
摘要 在机器视觉中,对于图像的处理有时候因为放置的原因导致ROI区域倾斜,这个时候我们会想办法把它纠正为正确的角度视角来,方便下一步的布局分析与文字识别,这个时候通过透视变换就可以取得比较好的裁剪效果 ...
- [OpenCV实战]24 使用OpenCV进行曝光融合
目录 1 什么是曝光融合 2 曝光融合的原理 3 代码与结果 4 参考 本教程中,我们将了解使用OpenCV的Exposure Fusion(曝光融合). 1 什么是曝光融合 曝光融合是一种将使用不同 ...
- 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存(argparse详细解释)
将下面文档存为load_display_save.py #-*- coding:utf-8 -*- ap = argparse.ArgumentParser() ap.add_argument(&qu ...
- OpenCV教程(42) xml/yaml文件的读写
参考资料: http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html #include "opencv2/openc ...
随机推荐
- Morris 遍历实现二叉树的遍历
Morris 遍历实现二叉树的遍历 作者:Grey 原文地址: 博客园:Morris 遍历实现二叉树的遍历 CSDN:Morris 遍历实现二叉树的遍历 说明 Morris 遍历可以实现二叉树的先,中 ...
- JUC(8)Stream流式计算
文章目录 1.ForkJoin 1.ForkJoin ForkJoin 在JDK1.7 ,并执行任务!提高效率,大数据量 大数据:Map Reduce (把大任务拆分为小任务) ForkJoin特点: ...
- 浅谈API和SDK的区别
首先了解一下他们的定义 API:application program interface 应用程序接口 通常表示一些事先定义好的函数,为了向外部提供一组功能的实现,实现和其他软件的交互 SDK:so ...
- static 关键字分析
在java中static 关键字用途很广,可以修饰成员变量 方法 甚至类(静态内部类),这里不分析static 修饰类 static修饰的内容的运行顺序 java的程序执行之前有一个类的加载的过程,在 ...
- Go语言核心36讲52
你好,我是郝林. 专栏到这里,就要结束了. 差不多在半年以前(2018年的第二个季度),极客时间的总编辑郭蕾找到我,说想让我写一个关于Go语言的技术专栏. 我那时候还在轻松筹担任大数据负责人,管理着四 ...
- <三>使用类模板实现STL Vector
使用类模板实现STL Vector,点击查看代码 #include <iostream> using namespace std; template<typename T> c ...
- std C++11 生成随机数组
#include <algorithm> #include <array> #include <iostream> #include <iterator> ...
- dfs 序
dfs序可以\(O(1)\)判断书上两个点的从属关系 Tree Queries 题面翻译 给你一个以\(1\)为根的有根树. 每回询问\(k\)个节点\({v_1, v_2 \cdots v_k}\) ...
- 自动注册实体类到EntityFramework Core上下文,并适配ABP及ABP VNext
继上篇文章(EF Core懒人小技巧之拒绝DbSet)之后,最近笔者把这个小功能单独封装成一个扩展方法并开源,欢迎交流和Star~ GitHub: EntityFrameworkCore.Extens ...
- .NET 6使用ImageSharp给图片添加水印
.NET 6 中,使用System.Drawing操作图片,生成解决方案或打包的时候,会有警告,意思是System.Drawing仅在 'windows' 上受支持.微软官方的解释是: Syste ...