“镜头阴影”
在使用工业相机获取图像时,应用场景的光照一般不是均匀分布,这种情况下拍摄的图片区域性有亮度差异。由于镜头结构问题,图像亮度在中心最亮,远处慢慢变暗,四个角落最暗,甚至会产生阴影。这种现象被称为“镜头阴影”,会对成像效果产生影响,不利于后期的画面分析。有时候,关键的信息可能就隐藏在这些阴影当中。许多工程师被这个问题困扰过,一般是解决方法是通过修改复杂的后期算法来解决“镜头阴影”,耗时耗力且无法保证最佳的效果。
Allied Vision特色阴影矫正ISP功能
Allied Vision一直秉承着客户为中心的服务思想,考虑到客户经常遇到的这一挑战,于是设计了一种更快捷、更方便的调整方案。即在Alvium系列相机中添加了镜头阴影矫正功能,可以快速改善画质。简单几步,就可以轻松改善“镜头阴影”的问题,无需手动调整算法。
-使用镜头阴影矫正功能前后效果对比-
镜头阴影矫正功能介绍
镜头阴影矫正功能是Alvium相机定制ASIC芯片的图像预处理功能中的一部分。Alvium相机内部集成了:
· 图像信号处理器(ISP)
· 丰富的图像处理库(IPL)
以上两个应用可承担图像处理任务,并且有着丰富的图像矫正和优化功能。还可以通过VIMBA软件进行本地配置。
工作原理
-镜头阴影矫正工作原理示意图-
上面的示意图展示了镜头阴影矫正的工作原理:
LensShading CenterOffsetX 和LensShading CenterOffsetY 界定了镜头阴影效应的中心位置。
LensShadingValue 界定了可以增强图像亮度的因子。
LensShadingValue的界定是从原点 CLens Shading 开始的同心圆中进行。LensShadingIndex 计算您下一步准备增强图像亮度的圆圈,单位为从原点 CLens Shading 计算的像素偏移量。由于镜头阴影矫正是在圆形区域内应用的,因此它忽略了角落部分。
操作步骤
具体如何在Alvium相机中运用镜头阴影功能呢?以下内容从如何生成和保存镜头阴影矫正值,以及如何启用矫正功能为大家清晰讲解。
如何生成和保存镜头阴影矫正值
下面是一个可以用于校准的 Python 示例:
此示例使用 VimbaX 的 Python API,您必须使用参数 /w 来将值写入相机,或使用 /e 仅显示值。此外,在示例运行时画面必须填充为白色(例如白纸或类似物品)。
步骤
-
使用单色像素格式。
-
在白色背景下拍照。
-
找到渐晕环,例如使用阈值。
-
确定渐晕的中心点 X 和 Y。
-
从中心点开始,计算中心点周围环的亮度值的平均值。
-
LensShadingIndex与这些环的半径对应。
-
计算当前环的矫正值:(所有环的最亮平均值)/(当前环的平均值),如果该比率超过 7.9,则必须使用镜头阴影值的最大值 7.9。
-
设置镜头阴影偏移 X/Y。
-
首先为每个环设置镜头阴影指数,然后将计算出的镜头阴影值写入特性。
-
使用“Lens Shading Save All(镜头阴影全部保存)”功能将矫正值保存到相机中。
如何启动镜头阴影矫正功能
步骤
-
运行 Python 示例,将矫正值保存到相机中。
-
在 VimbaX Viewer 中打开相机并启用镜头阴影。
Alvium相机其他预处理功能
ASIC芯片凝聚了Allied Vision在机器视觉领域30年的深厚专业知识,打造出专属的独特功能。这些功能为所有视觉系统开发提供了超高的灵活性,且可在系统原型设计、升级或降级阶段异常轻松地调整和升级。其他功能包括:图像对比度增强,图像去噪,彩色增强等等。
在工业制造和检测应用中,工业相机扮演着“机器的眼睛”这一至关重要的角色,负责精准地检测各类问题。为了确保检测的准确性和生产效率,选择一款稳定可靠的相机品牌至关重要,同时,保证画质的质量也是提升检测效果的关键。
如果您遇到画面阴影问题,或正在使用Allied Vision相机但不确定如何启用“镜头阴影”矫正或其他功能,请通过微信随时联系我们,我们的专业团队将竭力为您提供技术支持和解决方案。
来源:Allied Vision工业相机
注:文章版权归原作者所有,本文内容、图片、视频来自网络,仅供交流学习之用,如涉及版权等问题,请您告知,我们将及时处理。