本项目利用C#结合Halcon软件开发包,实现与海康威视相机的数据交互。主要功能包括实时连续采集和基于外部信号的图像捕捉,并对获取的画面执行精确的模式识别及匹配算法。
实现了X64版本VS2022与高版本Halcon 23.05的联合编程,并完成了以下功能:
1. VS调用海康威视类直接读取相机。
2. 海康威视类转换成Halcon图像。
3. 实现了hsmartwind缩放、平移、显示和画图等功能。
4. 模板匹配算法实现,与之前使用Halcon直接读取相机相比,速度更快且更稳定。
代码中实现了以下操作:
- 图像的平移和缩放功能通过 `this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.my_MouseWheel);` 实现;
- 定义海康威视类并设置相机以读取图像:`m_pDeviceList = new MyCamera.MV_CC_DEVICE_INFO_LIST();`
- 以及创建MyCamera实例用于操作相机:`m_pMyCamera = new MyCamera();`
程序运行后,打开相机即可开始使用。开启连续读图模式可以实现Halcon的连续图像读取,并进行模板匹配;而启用软件触发功能则每次仅在触发时读取一次图片。
通过启动一个新线程 `hReceiveImageThreadHandle` 来接收和处理接收到的图像数据:`new Thread(ReceiveIma)`。