资讯动态

曝光时间、增益与 Gamma:工业相机参数调试原理

发布时间:2026/10/14 11:02:55 来源:尧图企业网站定制
昨晚把带宽账算完图能稳稳传回来了。接下来现场最常碰到的问题就变成图是传回来了可是太暗或者亮是亮了一放大全是噪点。上个月去一条包装线帮忙看读码不稳。打开相机参数一看曝光 200 微秒增益拉到了 18 dB。问之前谁调的说是设备厂的调试员嫌图暗就把增益往上推推到看着亮为止。屏幕上整体挺亮放大到像素级底子上全是雪花点码的边缘毛毛糙糙读码率时好时坏。后来我把光源亮度加上去增益降回 0 dB曝光一点没动读码率当场就稳了。曝光、增益、Gamma 这三个参数都能让图变亮代价却完全不同。这篇从噪声说起把这三样掰开讲结尾给一个我自己调参的顺序。曝光是多收光增益只是把数放大D5 那篇聊传感器的时候说过像元把光子变成电子攒在满阱里读出时再叠上一份读出噪声。光子到达本身就是随机的攒下SSS个电子散粒噪声就是S\sqrt{S}S​。所以单个像素的信噪比可以这么估SNRSSσr2,SNRdB20log⁡10SNR \mathrm{SNR} \frac{S}{\sqrt{S \sigma_r^{2}}}, \qquad \mathrm{SNR_{dB}} 20\log_{10}\mathrm{SNR}SNRSσr2​​S​,SNRdB​20log10​SNRσr\sigma_rσr​是读出噪声单位是电子。算一个数假设满阱 10000 个电子读出噪声 5 个电子曝光 1 ms 时一个像素攒下 2500 个电子。SNR2500250025≈49.75≈33.9 dB \mathrm{SNR} \frac{2500}{\sqrt{2500 25}} \approx 49.75 \approx 33.9\ \mathrm{dB}SNR250025​2500​≈49.75≈33.9dB8 位输出、0 dB 增益按满阱对应 255 灰度算一个灰度大约 39.2 个电子。这个像素灰度在 64 左右噪声大约 1.3 个灰度。现在想让它亮一倍有两条路。曝光拉到 2 ms电子数变成 5000信噪比 70.5约 37.0 dB比原来多了 3 dB 左右。灰度到 128噪声约 1.8 个灰度。增益加 6 dB线性约 2 倍灰度也到 128但信号和噪声一起乘 2噪声变成 2.6 个灰度左右信噪比还是 33.9 dB一点没涨。同样亮到 128走增益那张图的噪声是走曝光那张的 1.4 倍左右。显示器上肉眼未必看得出来可做边缘提取、阈值分割的时候这点差别就是稳和不稳的区别。增益还有个隐性代价吃动态范围。增益乘 2原来 10000 个电子才饱和现在 5000 个电子就到 255 了。增益每加 6 dB能装下的亮度范围就少一半。高反光的金属件本来就容易过曝增益一加亮的地方先白成一片。dB 和倍数的换算顺手记一下G10dB/20G 10^{\mathrm{dB}/20}G10dB/20。6 dB 约 2 倍12 dB 约 4 倍18 dB 约 7.9 倍20 dB 正好 10 倍。那条包装线开 18 dB等于把噪声放大了快 8 倍。曝光也不能随便拉上限是运动那调试员为什么不直接加曝光因为东西在动。曝光时间里工件走过的距离就是运动模糊的长度。D4 晚上那篇讲过模糊这里直接给结论想让模糊不超过kkk个像素曝光上限是tmax⁡k⋅pv t_{\max} \frac{k \cdot p}{v}tmax​vk⋅p​ppp是一个像素对应的物方尺寸vvv是运动速度。那条线速度 500 mm/s视野 120 mm 摊在 2448 个像素上一个像素约 0.049 mm按 0.05 mm 算。要求模糊不超过 1 个像素曝光最多 100 微秒放宽到 2 个像素也就 200 微秒现场设的正是这个数。曝光要是拉到 1 ms工件走了 0.5 mm糊掉 10 个像素码根本读不出来。所以调试员不加曝光是对的错在曝光卡死之后去动增益而不是去加光。运动场景里光才是真正的变量光源亮度翻倍效果等同曝光翻倍信噪比实打实涨还不糊。常亮光源亮度不够可以上频闪短时间过流打一个亮脉冲这个跟触发时序绑在一起晚上那篇细说。模拟增益和数字增益差的不是一点半点相机里的增益分两种参数表里有时候混着写。模拟增益在模数转换之前把像元出来的电压先放大再送进 ADC。它放大的是信号和前面的噪声但 ADC 的量化噪声和后级电路噪声不会跟着放大所以在很暗、读出噪声占大头的场景加一点模拟增益折算到输入端的噪声还能略降一些。暗场景里适当开模拟增益是合理的。数字增益是 ADC 已经出完数了再在相机里乘一个系数纯粹是乘法不会多出任何信息。8 位图乘 2输出只剩 0、2、4、6 这些偶数256 个灰阶只用上了 128 个原来 128 及以上的全部截到 255。直方图一拉出来是梳子状的一根一根中间有空隙。这种图做灰度统计、做亚像素边缘都不如原图。经验一不少相机的增益滑块前面一段是模拟的拉过某个值后半段就切成数字增益了也有的用 Gain Selector 分开设。调之前先翻参数说明搞清楚分界点在哪。我自己的原则是数字增益能不开就不开真要提亮宁可在算法里自己乘至少原始数据还在。Gamma 改的是曲线不是光Gamma 是对灰度做一次非线性映射按归一化灰度写大致是Iout255×(Iin255)γ I_{\mathrm{out}} 255 \times \left(\frac{I_{\mathrm{in}}}{255}\right)^{\gamma}Iout​255×(255Iin​​)γγ1\gamma1γ1暗部提亮γ1\gamma1γ1压暗不同相机对这个参数的方向定义可能相反以实际出图为准。γ0.5\gamma0.5γ0.5时输入灰度 16 变成 64 左右暗部亮了 4 倍可在灰度 16 附近曲线斜率约等于 2原来 1 个灰度的噪声也被拉成了 2 个灰度。Gamma 是让人眼看着舒服的不是给算法用的。它把灰度和光强的线性关系打破了做尺寸测量、平场校正、灰度阈值标定的项目我一律保持 Gamma 为 1.0。只有纯人工目检、暗部细节要给操作员看的场合才会去动它。我在现场一般这么调增益归零、Gamma 设 1、自动曝光关掉再确认数字增益没开这是起点。接着按速度和像素精度把曝光上限算出来这是硬约束。在这个上限之内先把光源亮度拉够再把曝光往上加盯着直方图让要检测的那块区域落在 150220 灰度高光别贴到 255。光源和曝光都到头了还是暗再一点点加模拟增益我一般不愿意超过 6 dB超过了就该回头想光源、光圈和镜头了。经验二看亮度别靠肉眼显示器的亮度对比度、采集软件自带的显示拉伸都会骗人。开着直方图或者鼠标点灰度值拿数说话。经验三调好的参数要存进相机的用户配置集并且设成上电默认加载。我碰到过好几回相机断电重启后回到出厂参数自动曝光又开了白天晚上车间光线一变图就飘查了半天才发现是参数没存。曝光和亮度搞定了下一个问题是什么时刻按快门。工件在跑早一点晚一点它就不在视野中间。下篇聊相机触发模式软触发、硬触发、编码器触发怎么选触发延时、曝光、读出的时序怎么排光耦输入怎么接跟 PLC 怎么配合。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑