4. 图像采集与相机标定
视觉对位贴合系统的精度与稳定性,首先取决于图像采集链路的质量。本章围绕“硬件选型—接口连接—软件获取—图像预处理”四个环节展开,帮助学员建立从物理世界到数字图像的完整工程认知。在Halcon项目中,相机、光源、镜头与采集卡的匹配程度,往往比算法本身更决定项目成败。
4.1 相机选型:从精度与速度出发
核心原理:相机选型的本质是匹配“视场、分辨率、帧率、接口”四个维度与项目需求。在视觉对位贴合中,通常需要亚像素级定位精度,因此分辨率必须留有裕量。例如,贴合精度要求±0.02mm时,像素当量应达到0.005mm/px以下,即视场为20mm×20mm时,至少需要4000×4000分辨率。
| 选型参数 | 计算公式/依据 | 对位贴合项目建议 |
|---|---|---|
| 分辨率 | 视场(FOV) / 最小特征尺寸 × 5~10倍 | 200万~1200万像素,视场大小决定 |
| 帧率 | 节拍时间 / (采集+处理+运动时间) | 静态对位≥15fps,动态飞拍≥60fps |
| 传感器类型 | CCD全局曝光 vs CMOS卷帘 | 运动场景选全局曝光CCD或全局CMOS |
| 像素位深 | 8bit/10bit/12bit | 低对比度场景选10bit以上 |
| 接口 | GigE/USB3.0/CameraLink | GigE最通用,USB3.0性价比高 |
判断方法:先确定最小检测特征(如Mark点直径0.2mm),再计算所需像素当量。Halcon中可通过 image_points_to_world_plane 验证实际像素当量是否满足精度要求。若视场为30mm×30mm,精度要求±0.01mm,则像素当量需≤0.003mm/px,分辨率至少10000×10000,此时需考虑拼接或选用高分辨率面阵相机。
4.2 光源与镜头:决定图像质量的物理基础
核心原理:光源的作用是增强目标特征与背景的对比度,减少环境光干扰。对位贴合中常用LED光源,颜色选择依据“互补色增强对比”原则:红色光源照射绿色PCB板,可提高Mark点对比度。镜头则决定成像的清晰度与畸变程度,定焦工业镜头(如FA镜头)配合接圈可微调工作距离。
光源类型选择:
- 环形光源(Ring Light):适合Mark点、圆形特征的均匀照明,低角度环形光可突出边缘。
- 条形光源(Bar Light):适合大视场均匀照明,可组合成多角度照射。
- 同轴光源(Coaxial):适合高反光表面(如晶圆、镜面),消除眩光。
- 背光源(Backlight):适合轮廓测量,形成高对比度剪影。
镜头选型要点:焦距决定视场角,工作距离固定时,焦距越长视场越小。畸变是对位系统的关键指标,普通FA镜头畸变约0.5%~1%,远心镜头可做到<0.1%。对于高精度对位,推荐使用双侧远心镜头,其平行光路可消除透视误差。
4.3 图像采集接口与Halcon图像获取
核心原理:Halcon通过 open_framegrabber 算子建立与相机的连接,支持GigE Vision、USB3 Vision、GenICam等标准协议。采集方式分为同步采集(grab_image)和异步采集(grab_image_async),异步采集可让相机持续曝光,减少等待时间。
// GigE相机连接示例
open_framegrabber('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive',
-1, 'default', -1, 'false', 'default', 'Camera_1',
0, -1, AcqHandle)
grab_image_start(AcqHandle, -1) // 启动异步采集
grab_image_async(Image, AcqHandle, -1) // 获取最新帧
close_framegrabber(AcqHandle)
操作流程:
- 使用Halcon的
info_framegrabber枚举可用相机,确认设备名称与接口类型。 - 设置曝光时间(
set_framegrabber_param)、增益、触发模式(软触发/硬触发)。 - 对位贴合系统建议使用硬触发(外部IO触发),确保与运动控制卡同步。
- 采集后立即执行
rgb1_to_gray转换灰度图,减少后续处理数据量。
get_framegrabber_param 查询实际帧率与丢帧计数。
4.4 图像预处理与相机标定
核心原理:预处理的目标是消除噪声、增强特征、校正畸变。Halcon提供完整的滤波算子族:median_image 去除椒盐噪声,gauss_filter 平滑图像,emphasize 增强边缘对比度。对于对位系统,最关键的是畸变校正与像素当量标定。
相机标定流程:
| 步骤 | 操作 | Halcon算子 | 关键参数 |
|---|---|---|---|
| 1. 采集标定板图像 | 不同位姿采集15~20张 | grab_image | 标定板类型(圆点/棋盘格) |
| 2. 提取标定板特征 | 自动检测圆点中心 | find_calib_object | 标定板描述文件 .caltab |
| 3. 相机内参标定 | 计算焦距、主点、畸变 | calibrate_cameras | 初始焦距值、像元尺寸 |
| 4. 校正图像 | 生成无畸变图像 | change_radial_distortion_image | 映射参数 |
| 5. 验证精度 | 重投影误差评估 | get_calib_data | 误差<0.1像素 |
预处理实战:对位贴合中,Mark点提取前通常先做ROI裁剪(reduce_domain),再使用 threshold 或 edges_sub_pix 提取亚像素边缘。若图像存在亮度不均,可先做 illuminate 校正或 shock_filter 增强。
change_radial_distortion_image 校正后,全视场像素当量一致性提升至0.0003mm/px,对位精度从±0.05mm提升至±0.02mm。
4.5 常见误区与总结复盘
常见误区:
- 误区一:认为分辨率越高越好。高分辨率导致数据量大、处理慢,且镜头分辨率可能成为瓶颈。
- 误区二:忽略光源稳定性。LED光源老化后亮度衰减,需定期校准或使用恒流驱动。
- 误区三:标定一次永久使用。温度变化、镜头松动、相机位移都会导致标定失效,建议每班次验证一次。
- 误区四:直接使用Halcon默认参数采集。未设置曝光/增益,导致图像过曝或过暗,特征提取失败。
总结复盘:图像采集与标定是视觉对位系统的“地基”。硬件选型需从精度、节拍、环境三个维度综合评估;光源与镜头决定图像质量的上限;Halcon的采集接口提供灵活的控制方式;标定则是将像素坐标转换为物理坐标的唯一桥梁。建议学员在项目中建立“标定记录表”,记录每次标定的重投影误差、像素当量、环境温度,便于追溯异常。
serialize_cam_par 和 deserialize_cam_par 实现快速部署。对于多相机系统,务必分别标定并记录各相机与机械手的坐标变换关系。