工业相机摄影
如何设置您的工业相机进行摄影指南。
前言
本指南说明部分相机参数的功能与影响,并尝试展示如何取得适合人眼观看的优质影像。
自动化图像处理(例如测量)通常不需要美观的图像,而是需要来自传感器的原始数据,而这正是工业相机所提供的。
基本原则
光线
光线是摄影中最重要的部分。
光线不足、照射角度错误,或光源闪烁,都一定会导致不佳的成像结果。最佳效果通常来自于可控制的照明环境。
若需要检测刮痕或轮廓,光线应从侧面照射,使物体产生阴影,以突显表面细节。
自动功能
曝光、自动增益与自动白平衡等自动功能虽然使用方便,但效果有限。若拍摄场景的光线充足且稳定,建议关闭自动模式,改为手动调整相机参数,以获得最佳成像效果。
增益
应尽量避免使用增益,因为增益会产生噪声。建议优先增加曝光时间,以提升图像亮度并维持较佳画质。
曝光
如果场景是静止的,曝光时间可以设得尽可能长。如果场景会移动,则必须缩短曝光时间,直到运动模糊达到可接受的程度为止。
图像亮度
图像中呈现白色、过度曝光的区域不包含任何有效信息。相反地,看似较暗、曝光不足的区域,仍然可能保留可用的信息。
因此,在图像中应尽量避免过度曝光的区域。
电脑屏幕
所谓"真彩色(True Color)"的电脑屏幕可以显示 RGB 24 位色彩,共约 16,777,216 种颜色。屏幕的设置,例如色温与亮度,会影响相机图像的呈现效果。
如果工业相机使用 10 位或 12 位的像素格式,则必须转换为屏幕可显示的 8 位格式。当然,这样的转换会造成图像信息的损失。
此外,如果屏幕老旧或性能衰退,图像中的细节也可能被削弱或遗失。
参数属性
工业相机具有多种参数属性,其中一部分是在传感器上的模拟调整,例如增益;另一部分则是在图像数字化之后对图像数据进行处理,例如 Gamma与色调映射(Tone Mapping)。
曝光
曝光时间决定传感器在图像被读出并转换为电压之前,能够接收光线的时间长短。
增益
增益是在传感器上的一种线性模拟放大器。增益越高,噪声也会越多。
白平衡
白平衡用来调整图像中的红、绿、蓝三个色彩成分,使图像呈现更接近真实的色彩。
灰界算法 (Grayworld)
灰界算法自动算法尝试将直方图中红、绿、蓝三原色的最大值调整至相同的亮度值。这在多数情况下表现良好。但在拍摄色调单一的图像时(例如:蓝色地毯),这会导致图像呈现灰色。
色温
色温自动算法则会考虑光源特性进行校正,因此可以保留物体原本的颜色,例如上述蓝色地毯仍然保持蓝色。
饱和度
饱和度用来调整图像的色彩强度,从完全无彩度(灰度图像)到过度饱和的强烈色彩。
默认值为 100%,将其调整到约 130% 可以获得较为鲜明且自然的色彩效果。
Gamma
https://en.wikipedia.org/wiki/Gamma_correction
Gamma 用来调整图像的亮度分布。Gamma 值小于 1.0 会使图像变亮,而大于 1.0 则会使图像变暗。
色调映射
色调映射与 Gamma 类似,皆属于直方图函数。它是一项强大的属性,能让高动态范围(High Dynamic Range)图像在显示器上清晰呈现。当原始图像格式的每个颜色通道为 10 位或 12 位时,其效果最佳。显示器上的图像必须缩减(Downscaled)至每个颜色通道 8 位。
强度
强度用于调整查找表(LUT)转换的强度。
全局亮度因子
全局亮度因子用于调整比例:即应该使用多少全局图像亮度来偏移次方的因子表(Pow-factor-table),以及应该使用多少像素局部亮度。
增强暗部细节
存在一个具有极暗与极亮区域的高动态场景:右上角的晶体部分过度曝光,而中间孔洞处的黑暗区域则看不到任何细节。
图像格式
应使用 RGB64 图像格式。它能提供每个颜色通道 10 位或 12 位的色彩深度。37U 相机系列提供 10 位,其他系列则提供 12 位。额外的位数主要分布在色彩深度的低亮度(黑暗)范围内。
直方图
直方图是一个实用的工具,用于显示图像中的亮度分布。此处显示图像中没有黑色像素(如直方图中的黄色区域所示)。它同时也显示直方图右侧有许多过度曝光的像素。我们的目标是减少过度曝光像素的数量。
注意:缺失的黑色像素无法被还原,这取决于感光元件的特性。
调整曝光时间
目前已禁用增益与白平衡。亮度设置为 0,以降低黑阶并将直方图向左移动。
接着调整曝光时间,将其设定在一个直方图右侧不会显示任何过度曝光值的数值。
当前的曝光时间为 1/69 秒,且仅有极少数像素的亮度接近 255。
色调映射
现在使用色调映射来增亮黑暗区域,同时保持较亮区域的亮度不变。首先调整"强度 (Intensity)"属性。
"强度 (Intensity)"的数值不应设得太高,以免失去亮部像素的细节。此时,原本位于暗处孔洞中的晶体已变得清晰可见。
接着,调整"全局亮度因子 (Global Brightness Factor)",以将直方图的分布稍微展开。
Gamma
使用 Gamma 来稍微增亮图像。使用时须格外小心,因为它会导致大量细节流失:
锐利度
通过锐利度功能,可以使细节之间的边缘更加突出:
在黑暗区域中会显示出更多细节。
饱和度
提高饱和度可以增强某些彩色细节,使影像看起来更鲜明:
只使用曝光时间的孔洞影像:
为了只显示黑暗孔洞中的细节,可以将曝光时间作为唯一需要设定的属性:
总结
当然,如果在这个场景中使用光源照射,让孔洞从阴影中显现出来,会得到更好的结果。
在此示例中,所有自动功能都已关闭。如果光线条件改变,影像就会出现过曝或欠曝的情况,此时必须重新调整参数。工业相机主要是为"稳定且一致的光照环境"所设计。
为了克服这种问题,可以使用能够接收不同曝光时间(因此具有不同亮度)的影像,并将它们智能地合成的软件。这个技术称为 HDR(高动态范围成像),例如可以通过 OpenCV 实现。
https://docs.opencv.org/4.x/d2/df0/tutorial_py_hdr.html
HDR
同一个场景以不同的曝光时间拍摄四次,并使用第 6.9 节提到的 OpenCV 算法进行合成后,结果如下:
exposure_times = np.array([0.1111, 0.0588, 0.029, 0.014], dtype=np.float32)
这张图像显示,要获得最佳结果,需要不只一张来源图像。通过从自动曝光所返回的曝光时间中,以智慧方式计算多组曝光时间,可以让整个流程变得不依赖特定光线条件。
由于此处理过程需要一些时间,因此适用于静态场景与单张拍摄的情况。







