成像系统光照度(相机成像辐射传输)

关于成像系统中辐射亮度和光亮度之间的概念辨析

Radiance & Luminance

 

光源首先是个辐射源,它会向周围辐射能量Q;也就是其的基本物理量是功率W。然而,光源消耗的能量不可能全部转换为光能。光通量就是衡量光源中光能的那部分功率。

这里还要插一部分关于可见光测量的概念。上面提到的都是辐射学,适用于所有电磁辐射。而具体到可见光,它的所有概念(如光通量,光照强度)都跟视觉函数有关。

如下图:

 

这就是为什么人眼感觉绿光会比红光或者蓝光亮。明视觉下,同功率的光源,555纳米的绿光看起来是最亮的。

 

辐射学(Radiometry)

色度学(Photometry)

辐射通量(radiant flux) Watt

光通量(luminous flux) lm

辐射照度(irradiance)

光照度(illuminance) lux

辐射强度(radiant intensity)

光照强度(luminance intensity)

辐射亮度(radiance)

光亮度(luminance) nit

 

    

这两组概念在数量上的差别只是CIE的标准视觉函数;其物理意义差别在于色度学的概念引入了人的主观感受,也就是同样的能量,不同颜色的光人感受到的亮度不一样。除了这个主观因素,它们背后的物理意义是一样的。所以下面的讨论中有时并没有区分这两组概念;而实际图形学用的都是RGB三分量。

光通量(Φ)

光源在单位时间内,向周围空间辐射出使人眼产生感觉的能量,称为光通量。用符号Φ表示,实用单位为流明(lm),简称流。单位电功率所发出的流明数(lm/w),称为发光效率。1流明相当于1/680W的单色光源辐射的能量。

Φ = dQ / dt

光源是向周围辐射能量的,所以在每个方向上其光通量并不一定相同。比如手电筒,聚光前灯泡可能是均匀向四周发光,但聚光后它的光束全部向一特定范围内发射,这样该方向就会比较明亮。所以光源的明亮度是和方向有关,某一方向上辐射能量越多自然越亮。而与力学的单位比较,光通量相当于压力,而发光强度相当于压强。要想被照射点看起来更亮,不仅要提高光通量,而且要增大会聚的手段,实际上就是减少面积,这样才能得到更大的强度。

发光强度(I)

光源在某一特定方向上单位立体角(球面度sr)内辐射的光通量,称为光源在该方向上的发光强度,简称光强,用符号I表示,单位为坎德拉(cd),简称坎。 1(cd)=1(lm)/1(sr)。

实际经常要考虑的是光源照射某一表面的情况;也就是光相对于空间中某一表面A的分布情况。

E = dΦ / dA

 

照度(E)

衡量的是某一表面A上所有入射光的光通量。

还有个辐射出射照度(M,radiosity),是某一表面所有发出的光的光通量。

勒克司(lux,法定符号lx)是照度(Illuminance)的单位。等于1流明的光通量均匀照在1平方米表面上所产生的照度。

对于理想的单一方向光源(directional light),其照度在它的方向上是常数E。而实际的光源,其照度往往和物体与光源距离有关。可以考虑下图所示的点光源。

 

在某一方向角内,发光强度是I;该方向上所有面照射到的光通量是一样的。但是,很明显离光源越近光线越密集,单位面积上的光通量也越大。

 

E = I*ω / A

ω = A / (r*r)

E = I / (r*r)

对更一般的情况,有:

 

dΦ = I*dω = E*dA

L = I/dA = E/dω

而图形学中经常使用和关心的量是亮度(L)。这是因为人眼或是图像传感器感受到的光强是和这个亮度成正比的。

 

而图形学中最关键的计算是Shading;也就是计算物体表面任意点相对于Camera位置的亮度(L)。Camera相当于人的眼睛,它观察到的值直接正比与亮度。

而一般物体本身并不发光,人眼观测到某一点的亮度是直接正比于该点附近微小面dA所接收到的光强,也就是照度E,如下图所示:

光亮度(luminance)

是表示发光面明亮程度的,以L表示,指发光表面在指定方向的发光强度与垂直于指定方向的发光面的面积之比,单位是坎德拉/平方米。

空间中光的分布是和方向有关的;对于某一位置p上的微小表面dA,radiance是:

而其他物理量则可以表示为:

Radiance在空间中的分布实际取决于位置和方向;它是一个5个参数的函数:L(x1,y1,z1,θ,φ) 3个参数决定位置,另外两个决定方向(θ,φ是球面坐标)。

Radiance&Luminance有这么几个特性:

 

1.图像传感器、人眼或者照相机感受或测量的量直接正比于Radiance

图形学中主要就是计算这个量

2.在光线传播方向(Ray)上,Radiance是保持不变的

3.Radiance是和距离无关的。

首先看第3点,也就是光从一个微表面传播到另一个微表面,L值是一样的,如下图:

这个可以由能量守恒得到证明,即出射光和入射光的能量L*dω*dA是一样的。

然后看第1点,这也是为什么我们最关心也是最后的计算结果是亮度的原因。考虑下图所示的简单传感器模型:

 

盒子里后挡板黑色区域是图像传感器,它的感光面积是a;而整个装置的孔径是A。所以当该装置装好后,它的可感受光的区域就确定了,也就是相当于图形学里Camera的视锥体确定了。所以整个感光面接收到的光的能量是:

 

如果空间中光亮度L是恒定的,则传感器接收到的光通量正比于亮度L。由以上推导可以看出图像传感器装置的输出受光亮度影响,它的输出信号应该取决于传感器装置自身几何参数(a,A)和空间光亮度。

 

 

 

 

转载自:https://blog.csdn.net/a6333230/article/details/90042557

1.余弦辐射体(朗伯辐射体)
朗伯辐射体指辐射源各方向上的辐射亮度不变,辐射强度随观察方向与面源法线之间的夹角θ的变化遵守余弦规律的辐射源。(来自360百科)
"余弦辐射体"的发光表面可以是本身发光的表面,也可以是本身不发光,而由外来光照明后漫透射或漫反射的表面.绝对黑体就是理想的余弦辐射体。

余弦辐射体各个方向的光亮度相同。

2.孔径角
(来自wiki)一个透镜的孔径角是从焦点朝着透镜望去,孔径所占的角度a:

 

3.光通量和孔径角θ

入瞳:相机中限制入射光的结构,只有能经过入瞳的光才能真正进入相机的光学系统。
出瞳:相机中限制出射光的结构。

我们在研究成像系统时,需要获得入瞳的光通量。

å¨è¿éæå¥å¾çæè¿°

 

 

这里如果看不懂的话,可以去看一下二郎之前的博文
https://so.csdn.net/so/search/s.do?q=立体角&t=blog&u=a6333230

我们获得了入瞳处的光通量,由于传输过程中的衰减,出瞳处的光通量为

å¨è¿éæå¥å¾çæè¿°

τ为光透射率。
我们得到了光通量,对总的光进行了描述。在我们研究光到相机像素点(CMOS)时,我们需要求成像平面每个点的光照度。
我们在求照度时,需要注意是两种情况,成像的点是轴上点还是轴外点

轴上点的光照度

轴外点的光照度

å¨è¿éæå¥å¾çæè¿°


这里的公式就可以解释相机暗角的问题了。
公式来自(工程光学,郁道银,82,成像系统像面的光照度)
————————————————
版权声明:本文为CSDN博主「三眼二郎」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a6333230/article/details/90042557

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 海康威视热成像相机是一种高性能的红外热成像设备,它能够以非接触的方式获取物体表面的热量分布情况,并将其转化为数字信号输出,方便用户进行后续处理和分析。如果想要使用Python语言来调用海康威视热成像相机的温度数据矩阵,可以按照以下步骤进行: 1. 安装SDK和驱动程序:在使用之前,需要先安装好海康威视的SDK和相机驱动程序,并进行相关的配置和设置,以保证系统能够正确地识别和连接到相机。 2. 连接到相机:使用Python脚本连接到相机,建立通信通道。通过相机SDK提供的接口函数,可以获取到相机的温度数据矩阵。 3. 数据处理和分析:获取到温度数据后,需要进行一些数据处理和分析工作,以提取出有用的信息和结果。例如,可以通过计算每个像素点的平均温度值或温度变化率,来分析目标物体的热量分布情况和变化趋势。 4. 结果呈现和输出:最后,可以将分析得到的结果以图形或表格等形式呈现出来,供用户进行查看和参考。 需要注意的是,以上步骤中具体的代码和函数调用方式会根据不同的相机型号和SDK版本而有所不同,因此在使用之前需要先查看相应的文档和说明。同时,还需要熟悉Python语言的基础知识和相关的科学计算库,以便进行数据处理和分析。 ### 回答2: Python是一个强大的编程语言,能够支持多种各种各样的编程任务。其中一个任务就是与相机交互,通过相机采集数据后进行处理。海康威视热成像相机是一种基于红外技术的相机,它可以获取物体表面的温度数据矩阵,这对于温度检测和热成像分析等方面的应用都非常有用。 要调用海康威视相机,我们需要使用Python的SDK库。这个库包含了所有与海康威视相机交互所需的函数和方法。要获取温度数据矩阵,首先需要连接到相机。连接相机的方法可以使用Python SDK中的函数,通常需要提供相机的IP地址或者序列号。 一旦我们连接到相机,我们就可以获取温度数据矩阵。获取温度数据矩阵的方法也在Python SDK中提供。一般情况下,我们可以使用一个循环来获取多张图像,从而获得一个连续的视频流。对于每张图像,我们可以使用提供的函数来获取温度数据矩阵。这个矩阵通常是一个像素大小为320x240的数组,每个数组元素表示一个像素的温度值。 获取温度数据矩阵后,我们可以使用它进行各种分析和处理。例如,我们可以使用NumPy库来对矩阵进行数学运算。我们还可以使用Matplotlib库来可视化矩阵,以便更好地理解和分析数据。 总的来说,使用Python调用海康威视热成像相机的温度数据矩阵需要以下步骤:连接相机,获取温度数据矩阵,对矩阵进行分析和处理。Python SDK提供了所有必要的函数和方法来执行这些任务。 ### 回答3: 海康威视是世界领先的视频监控解决方案供应商之一,其热成像相机是一种能够对人或物体进行红外热成像检测的专业设备,可广泛应用于安防监控、工业生产等领域。而Python是一种流行的编程语言,具有简洁明了的语法和强大的数据处理能力,因此,许多人希望能够使用Python调用海康威视热成像相机的温度数据矩阵。 首先,需要准备相应的开发环境和工具,包括海康威视热成像相机、SDK软件、Python编程环境等。其次,需要了解相机和SDK软件的相关API(应用程序接口),以便编写Python代码进行调用。 要调用海康威视热成像相机的温度数据矩阵,可以按照以下步骤进行: 1. 安装SDK软件并导入相关库文件:首先需要安装SDK软件,并导入相关的库文件和模块,包括海康威视热成像相机的API库、Python的图像处理库等。 2. 初始化相机:通过SDK软件提供的初始化函数,连接相机并设置相关参数,如相机连接方式、图像格式、温度单位等。 3. 获取温度数据:通过SDK软件提供的API函数,获取相机捕获的温度数据,包括热成像图像数据、温度矩阵数据等。一般情况下,可以使用相机侧面的温度数据输出接口,获取原始温度矩阵数据。 4. 处理温度数据:通过Python的图像处理库等工具,对获取到的温度数据进行处理和转换,包括图像预处理、颜色调整、坐标转换等操作。 5. 显示温度图像:将处理后的温度数据矩阵显示为图像,并加上相应的标注和注释,以便用户进行观察和分析。 总的来说,使用Python调用海康威视热成像相机的温度数据矩阵,需要一定的编程基础和相关技术知识。但是,一旦掌握了相应的API函数和工具,就可以灵活地进行数据读取、处理和可视化,实现更多的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值