ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

透镜成像和数字相机采图,是把“光线”变成“C# 可读的像素矩阵”的两级转换。透镜负责几何映射,传感器负责光电转换和量化

透镜成像和数字相机采图,是把“光线”变成“C# 可读的像素矩阵”的两级转换。透镜负责几何映射,传感器负责光电转换和量化

透镜成像和数字相机采图,是把“光线”变成“C# 可读的像素矩阵”的两级转换。透镜负责几何映射,传感器负责光电转换和量化。

透镜成像:几何光学的三个关键结论

薄透镜公式是理解一切成像几何的起点:

[
\frac{1}{f} = \frac{1}{u} + \frac{1}{v}
]

其中 f 是焦距,u 是物距,v 是像距。工业视觉中,这个公式直接决定工作距离和视野(FOV)的计算。

从薄透镜模型可以推导出三个对工程至关重要的结论:

结论一:放大率由像距和物距之比决定。
[
M = \frac{v}{u} = \frac{h’}{h}
]
其中 h 是物体尺寸,h’ 是像尺寸。当 v = u = 2f 时,放大率为 1:1,这是很多精密测量场景的工作点。

结论二:景深与光圈成反比。光圈越小(F 值越大),景深越深,但进光量越少。这是工业视觉中“对焦清晰 vs 亮度充足”的核心权衡。一个 F/2.8 的镜头景深极浅,适合突出目标;F/11 的镜头景深大,适合检测有高度差的物体。

结论三:视野与工作距离成正比。
[
\text{FOV} = \frac{\text{传感器尺寸}}{M} = \frac{\text{传感器尺寸} \times u}{v}
]
如果你要在 300mm 外看清 200mm 宽的物体,传感器宽 10mm,则放大率需为 10/200 = 0.05,对应像距 v 和物距 u 的关系。

数字相机采图:从光到字节的四个阶段

工业相机把透镜汇聚的光变成 C# 里的byte[],经历四个阶段:

阶段一:光电转换。传感器上的光电二极管阵列把光子转化为电荷。光越强,电荷越多。这一步的物理量是“电荷量”,本质是模拟信号。

阶段二:电荷转移与读出。CCD 逐行转移电荷到读出放大器;CMOS 每个像素自带放大电路,可并行读出。CMOS 的并行读出是其高帧率的根本原因。

阶段三:模数转换(ADC)。模拟电压被量化成数字。8 位 ADC 输出 0-255,12 位输出 0-4095。位深决定了灰度分辨率——12 位相机能区分 4096 个亮度等级,在低对比度场景下比 8 位相机更能分辨微小差异。

阶段四:接口传输。数字像素数据通过 GigE Vision、USB3 Vision、Camera Link 等接口传到上位机。C# 通过相机 SDK 拿到IntPtr,指向的就是这个像素缓冲区。

C# 案例:从IntPtr到可处理的图像

相机 SDK 的典型回调签名如下(以海康风格为例):

private
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进