首先需要在主窗体界面中,拖一个定时器控件。用定时器,每一秒读一张图片,模拟相机实时采集。属性如下
并注册定时器的事件,在里面调用检测函数。
-
- //定时器
- private void timer1_Tick(object sender, EventArgs e)
- {
- //开启线程函数来执行检测函数
- Task.Run(dectet);
- //dectet();
- if (Index == path.Length)
- {
- timer1.Enabled = false;
- }
- }
最重要的检测功能,我们将其封装成一个函数,方便前面用线程调用。
其实也主要是对halcon代码的拷贝,不过加了一些逻辑的判断,和UI的显示。注意的是,因为我们要开线程来执行检测函数,所以需要跨线程访问UI控件。涉及到dip_message函数,从halcon代码中拷贝过来。
- //检测方法
- private void dectet()
- {
- if (Index < path.Length) //判断是否检测完了
- {
- bool isDrawline = true;//是否