机器视觉里的“帧率”,一次就弄明白
本文系统介绍了工业视觉中帧率(FPS)和行频(Line Rate)的核心概念与应用。重点解析了: 面阵相机以"张/秒"计算帧率,线阵相机以"行/秒"计算行频(kHz级) 选择依据:相机速度必须≥被检物移动速度,并给出行频计算公式 数据率与接口带宽的匹配关系,提供常见接口的吞吐量参考值 完整的选型流程和注意事项,包括清晰度、运动参数、数据率计算等环节 对比了面
1) 帧率到底是啥?

- 面阵相机(Area Scan):一拍就是一整张图。
帧率(FPS)=每秒能拍多少“张”。15 FPS 就是一秒最多拍 15 张。 - 线阵相机(Line Scan):一拍只是一“行”像素,很多行拼成一张长图。
行频(Line Rate)=每秒能扫多少“行”。工程上常说 kHz:比如 50 kHz≈每秒 50,000 行。(你举的“50 赫兹=5 万行/秒”这句口语里其实指的是 50 kHz。)
记法:面阵看“张数”,线阵看“行数”。
2) 为什么选帧率要看“速度”?
核心思路特别简单:相机的拍摄速度 ≥ 被检物的到达/移动速度。
-
按件触发(面阵):一件来一张,那就要保证 FPS ≥ 件/秒;最好再留点余量(比如 ×1.2~×2),防抖防抖动、防抖峰值。
-
连续移动(线阵):皮带、辊道不停走,要求行频跟上线速度。
公式超好用:行频(行/秒)=线速度(mm/s)物方像素尺寸(mm/像素) \text{行频(行/秒)}=\frac{\text{线速度(mm/s)}}{\text{物方像素尺寸(mm/像素)}} 行频(行/秒)=物方像素尺寸(mm/像素)线速度(mm/s)
例子:皮带 2000 mm/s、物方像素 0.05 mm/px → 行频 = 2000 / 0.05 = 40 kHz。
再进一小步:运动模糊来自曝光时间过长。要想“冻住”物体,曝光时间 TeT_eTe 要小到让物体在曝光期间位移不超过你能接受的像素数 bbb:
Te≤b×物方像素尺寸线速度 T_e \le \frac{b \times \text{物方像素尺寸}}{\text{线速度}} Te≤线速度b×物方像素尺寸
拍得越清,TeT_eTe 就得越短,通常就意味着要更亮的光或更灵敏的镜头/相机。
3) 帧率和分辨率、接口带宽是一根绳上的蚂蚱
同一台相机里,分辨率越高、位深越大、帧率越高,数据率就越大,到了接口就可能“呛住”。粗算公式:
-
面阵:
数据率(B/s)≈宽×高×位深(Byte)×FPS \text{数据率(B/s)} \approx \text{宽} \times \text{高} \times \text{位深(Byte)} \times \text{FPS} 数据率(B/s)≈宽×高×位深(Byte)×FPS
-
线阵:
数据率(B/s)≈行宽(像素)×位深(Byte)×行频 \text{数据率(B/s)} \approx \text{行宽(像素)} \times \text{位深(Byte)} \times \text{行频} 数据率(B/s)≈行宽(像素)×位深(Byte)×行频
再加 10%~30% 协议/系统开销更踏实。
小例子(面阵):1920×1080,8-bit,60 FPS →
2,073,600 px/帧 × 1 B × 60 ≈ 124 MB/s。1 GigE 实际可用常在 ~100 MB/s 左右,已经吃紧;USB3、5 GigE、10 GigE会更稳。
经验带宽速查(大致可用吞吐,方便心里有数):
- GigE≈100 MB/s
- 2.5/5/10 GigE≈250/500/1000 MB/s
- USB3.0/3.2 Gen2≈350–400 / 800–900 MB/s
- Camera Link/CoaXPress:每通道数百 MB/s 到 1 GB/s 级,适合“高分辨率×高帧率”。
要是既想高分辨率又要高帧率,就老老实实上大带宽接口,或用多通道;否则就考虑降低分辨率/ROI、降低位深、或做压缩。
4) 选帧率的一把抓流程(照做就行)
-
定目标清晰度:算出物方像素(mm/px)或最小可辨细节。
-
看运动参数:件/秒(面阵)或线速度(mm/s,线阵)。
-
面阵:
- 一件一拍 → FPS≥件/秒×余量系数(1.2–2)\text{FPS} \ge \text{件/秒} \times \text{余量系数(1.2–2)}FPS≥件/秒×余量系数(1.2–2)
- 需要连拍多张 → 再乘以每件所需张数。
-
线阵:按“行频=线速度/物方像素尺寸”得出 行频(kHz)。
-
算数据率:用上面的公式估一估,再给 10–30% 余量。
-
选接口:数据率别把接口卡死;必要时换更大带宽或多路。
-
验光照:短曝光必然要亮光,优选可频闪的光源(和触发同步)。
-
上触发/编码器:用外触发保证拍摄节拍,用编码器让线阵和皮带“步步对齐”。
5) 高帧率的“代价”和对策
- 光要更亮:曝光时间短,单位时间集光少;上更亮的光源或增益(增益会涨噪声)。
- 数据更大:主机得吃得下,SSD 写得动,算法跑得动;必要时边缘侧前处理、ROI、位深从 12→8-bit。
- 发热与稳定:高帧率+长时间=温升,注意散热与掉帧监控。
- 快门类型:运动场景优先全局快门;滚动快门要小心“歪楼”(果冻效应)。
6) 面阵 vs 线阵,怎么拍更合适?
- 面阵:一张就定胜负,适合离散件、姿态变化大的目标。触发简单,灯光布置直观。
- 线阵:连续场景(布匹、箔材、管道、超宽幅表面)更强;只要线速度与行频匹配,能得到“无限长”的高分辨率图。记得用编码器闭环防止拉伸/压缩。
7) 常见坑与排查清单
- “FPS够了但还是糊”:看曝光时间是否>允许值;补光、开频闪、换全局快门。
- “标称帧率达不到”:接口带宽不够、主机写盘跟不上、驱动缓存太小;关后台软件,开 jumbo frame/直连,或换更大带宽。
- “线阵图像被拉伸/挤压”:编码器分辨率、齿轮比、线速度标定不准。
- “光源频闪干扰”:工频照明会拍出条纹;用直流供电或同步频闪。
- “分辨率一调高就掉帧”:ROI/位深/触发模式与驱动缓冲要一起配。
8) 小算例再巩固(两个 30 秒就能心算的版本)
- 面阵例:产线 90 件/分钟=1.5 件/秒;一件一拍,取 1.5×1.5 ≈ 2.3 FPS 即可;若想每件 3 张,≥7 FPS。
- 线阵例:4096 px 行宽、8-bit、行频 50 kHz → 数据率≈4096×1×50,000 ≈ 205 MB/s,就该考虑 USB3、高速以太网或 CoaXPress。
9) 结语+名词对照
-
用一句话概括:帧率/行频就是“相机吞吐的节拍”,一定要跟上你的产线节拍与清晰度要求,并且别忘了带宽与光照这两个“副本”。
-
名词对照:
- 帧率=FPS(面阵)
- 行频=Line Rate(线阵,kHz)
- 面阵相机=Area Scan;线阵相机=Line Scan
更多推荐

所有评论(0)