* 工业相机在机器视觉中起到关键作用,本文基于海康 SDK 详细解读了设备连接与控制的各个步骤。内容涵盖设备枚举、句柄创建、图像采集回调以及设备异常处理,帮助开发者快速理解如何通过代码控制相机,实时采集并处理图像数据。*
1. 搜索并枚举相机设备
这个部分主要是枚举所有连接的相机设备,并在界面上显示设备的序列号,供用户选择。
2. 创建设备句柄并连接设备
用户在选择相机并点击“连接”按钮后,程序会为选定的相机创建句柄,并尝试连接设备。
- 创建句柄: 函数使用选中的设备信息 创建相机句柄 。
- 打开设备:通过 打开相机,并指定独占模式(),避免其他进程访问该设备。
- 帧计数初始化:如果是网口设备(),初始化帧计数器 为 0;否则设为 -1,表示未初始化。
3. 设置相机触发模式
用户可以通过界面选择不同的触发模式,包括连续采集、软件触发和硬件触发。相机的触发模式会影响图像采集的方式。
- 连续采集:设置触发模式为 0(关闭触发模式),相机会自动连续采集图像。
- 软件触发:设置触发模式为 1,并将触发源设置为软件触发源(值为 7),之后可以通过代码发送触发命令来抓取图像。
- 硬件触发:设置触发模式为 1,触发源为硬件触发通道 0 或 1(如硬件引脚输入触发信号)。
4. 图像采集回调函数 -
每当相机采集到一帧图像时,都会触发 回调函数。该函数负责将图像数据转换为 Halcon 格式并显示在 UI 界面中。
- 图像数据转换:根据 中的像素类型,调用 Halcon 库的不同函数将图像数据 转换
为 Halcon 图像对象 。
- 图像显示:调用 将转换后的图像显示在 UI 窗口中。
- 异常处理:若图像数据转换失败,则会记录错误信息。
5. 异常处理回调函数 -
当设备连接断开或发生其他异常情况时,SDK 会调用该异常回调函数。我们可以在此函数中记录并显示错误信息,提示用户相机状态异常。
- 主要功能:判断消息类型 是否为设备断开事件 。若设备断开,程序会调用 显示错误信息。
这段代码实现了通过海康 SDK 控制工业相机的主要功能,包括设备搜索、创建句柄、设置触发模式、图像采集和异常处理。该流程在实际的机器视觉应用中很常见,适用于产品质量检测、生产线监控等场景。流程概括如下:
- 设备枚举:找到并列出所有连接的相机设备,供用户选择。
- 创建句柄和连接设备:为选定设备创建句柄并连接设备。
- 触发模式设置:支持多种采集模式(如连续采集、软件触发、硬件触发),用户可以根据实际需求选择。
- 图像采集回调:采集到图像后触发回调,将图像数据转换为 Halcon 格式并显示。
- 异常处理:实时监控设备状态,当设备断开时触发异常回调并记录提示。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/te-aq/82133.html