图像处理
新闻详情

曝光调不对,算法全白费:机器视觉的曝光三态解析

发布时间:2026-09-05 16:56:54 浏览次数:4

你大概有过这样的经历:用手机拍一张窗边的照片,窗外的景色一片惨白,什么都看不清;或者拍一张暗光环境下的照片,画面漆黑一片,细节全无。前者叫“过曝”,后者叫“欠曝”,这两种情况在工业视觉中同样会出现,只是后果严重得多。

 

曝光,说白了就是相机传感器收集光的过程。光线通过镜头落在传感器上,传感器把光信号变成电信号,电信号再被量化成灰度值,最终形成图像。曝光时间长了,进的光多,图像亮;短了,光少,图像暗。 这件事本身并不复杂,复杂的是:什么样的亮度才算刚刚好?太亮和太暗分别会造成什么问题?

一、正确曝光:图像信息完整,边缘清晰可辨

正确曝光的图像,灰度值分布在整个可用的范围内,最暗的区域接近纯黑但不完全丢失细节,最亮的区域接近纯白但没有溢出。你可以把图像想象成一个仓库,灰度值从0到255就是仓库里的255个货架。正确曝光的图像,货物均匀分布在所有货架上,信息完整、层次分明。

 

在工业视觉中,正确曝光的价值在于:边缘清晰,特征稳定。 当图像被正常曝光时,工件轮廓、表面纹理、缺陷特征都能被准确呈现。算法在做边缘检测时,可以稳定地找到灰度变化的陡峭位置,边缘在哪里、什么形状、与周围区域的对比度如何,一目了然。后续的尺寸测量、缺陷识别、定位抓取,都是建立在这个信息完整的前提之上的。

二、欠曝:暗光环境下的信息缺失

欠曝就是进光量不足,图像整体偏暗。

 

在工业视觉中,欠曝带来的问题远不止看起来暗这么简单。首先,暗光环境下信号本身较弱,而传感器固有的噪声,包括光子散粒噪声和读出噪声,在弱信号下相对占比更高。信号弱、噪声强,信噪比就低。 低信噪比的图像,边缘被噪声掩盖,算法很难准确找到轮廓位置。

 

其次,欠曝图像的灰度值集中在低端区间。那些原本应该分布在100-200之间的灰度值,全部被压缩到了0-50的区间里,信息被压扁了。特征之间的对比度被压缩,原本清晰的缺陷变得模模糊糊,算法根本看不出来那里有个缺陷。

 

更麻烦的是,欠曝还会导致算法误判增多。当边缘本身就不够锐利时,算法在边缘附近检测到的可能是噪声而不是真实特征,直接导致测量结果偏差。

三、过曝:亮光下的信息溢出

过曝就是进光量过多,图像整体偏亮,甚至出现大面积纯白区域。传感器每个像素能容纳的电子数量是有上限的,一旦达到饱和,过量的光线就无法被区分了。所有超过饱和阈值的亮度都会被记录为同一个最大灰度值,也就是说,不同亮度的细节溢出之后变得无法区分。

 

在工业视觉中,过曝比欠曝更可怕。至少欠曝的图像还能看到轮廓在哪里,只是细节模糊;过曝的纯白区域则直接丢失了所有信息。如果工件表面有一块区域在图像中呈现为纯白色斑,那片区域里有没有划痕、有没有脏污、边缘在哪里,全都无从得知。算法看到一个纯白区域,无法判断这个区域的边缘是圆形还是方形,因为边缘已经融化在了白色之中。

 

过曝还会导致测量结果漂移。 在图像处理中,边缘定位依赖于灰度梯度变化。当过曝严重时,边缘两侧的灰度差异被压缩,梯度值下降,算法探测到的边缘位置会比实际位置偏移若干个像素。在微米级的测量任务中,这种偏移足以导致误判。

四、为什么工业视觉对曝光这么敏感

工业场景中的检测任务通常对精度要求极高。手机中框的R角、PCB板的线宽、半导体晶圆的对位标记,这些测量往往要达到微米级或亚微米级。而边缘定位的精度直接依赖于图像中灰度变化的清晰程度。在正确曝光下,边缘梯度陡峭、位置明确;在欠曝或过曝下,梯度被削弱、位置模糊。

 

有人可能会说:那用深度学习不就行了吗?AI算法确实能处理一定程度的曝光偏差,但有两个限制:第一,深度学习的鲁棒性是有范围的,严重欠曝或过曝的图像,AI也一样无能为力;第二,工业检测追求的是99.9%以上的精度等级,容忍度极低。

 

与其让算法去猜,不如先把图像拍好。这是工业视觉系统设计的一个基本原则。

五、如何调节正确的曝光量

机器视觉项目中,设置正确的曝光参数往往是系统调试的第一步。光源选定了、相机装好了、镜头光圈调好了,下一步就是让画面亮起来,而且是不亮不暗、恰到好处的那种亮。

 

现代工业相机通常支持自动曝光功能,但在精密测量场景中,自动曝光往往不够用。因为产线上的工件可能材质不同、颜色不同、反光率不同,自动曝光算法很难在所有情况下都给出最优解。更可靠的做法是:根据具体检测任务,手动设定曝光时间,并通过灰度直方图确认图像的灰度分布是否合理。

 

在产线调试过程中,工程师通常会根据工件特征和检测要求,反复调整曝光时间、光源亮度和光圈大小,观察直方图的变化,找到那个刚刚好的参数组合。这个过程需要耐心,但只要曝光对了,后续的图像处理效率会高很多。曝光这件事,说到底是让图像传感器接收到恰到好处的光。

在线客服 双翌客服
客服电话
  • 0755-23712116
  • 13310869691