此方法采用定时器,注释部分为线程采集
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System;
using HalconDotNet;
using System.Threading;
namespace openCamera
{
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
// new HDevelopExport();
if (this.OpenC_btn.Text == "打开相机")
{
this.OpenC_btn.Text = "关闭相机";
HOperatorSet.GenEmptyObj(out ho_image);
//Image Acquisition 01: Code generated by Image Acquisition 01
HOperatorSet.OpenFramegrabber("GigEVision", 0, 0, 0, 0, 0, 0, "default", -1,
"default", -1, "false", "default", "CAM_11", 0, -1, out hv_AcqHandle);
HOperatorSet.GrabImageStart(hv_AcqHandle, -1);
UpdateLogMessage("打开相机\r\n");
}
else if (this.OpenC_btn.Text == "关闭相机")
{
this.OpenC_btn.Text = "打开相机";
HOperatorSet.CloseFramegrabber(hv_AcqHandle);
ho_image.Dispose();
UpdateLogMessage("关闭相机\r\n");
}
}
HObject ho_Image, ho_Regions,ho_image;
HTuple hv_window;
HTuple hv_AcqHandle = null, hv_Width = new HTuple();
HTuple hv_Height = new HTuple();
private bool Acqthread_stop = false;
private Thread thread_Acquire = null;
public Form1()
{
InitializeComponent();
}
private void Form_Load(object sender, EventArgs e)
{
thread_Acquire = new Thread(new