设置首页收藏本站
开启左侧

C#用halcon怎么开发大恒MER-130-30UM-L同款的两台相机,急急急

[复制链接]
天翊胤 发表于 2018-5-9 20:17:12 | 显示全部楼层 |阅读模式
本帖最后由 天翊胤 于 2018-5-9 20:43 编辑

C#用halcon开发一台大恒MER-130-30UM-L相机可以用,但是同时用两台就不行了,不能异步采集图片了。求好心人解决
  private void Form1_Load(object sender, EventArgs e)
        {
            InitCamera();
            InitCamera2();

        }
        bool aaa = true;
        bool ttt = true;
        public void InitCamera()
        {
            try
            {
                //相机设置
                HOperatorSet.OpenFramegrabber("GenICamTL", 0, 0, 0, 0, 0, 0, "progressive",
                    -1, "gray", -1, "false", "default", "MER-130-30UM-L(RH0041008012)", 0,
                    -1, out hv_AcqHandle);
                HOperatorSet.GrabImageStart(hv_AcqHandle, -1);
            }
            catch { MessageBox.Show("未能找到相机1,请检查相机是否连接"); }
            th1 = new Thread(recv);
            th1.IsBackground = true;

            // th1.Start();
        }
        public void InitCamera2()
        {
            try
            {
                HOperatorSet.OpenFramegrabber("DahengCAM", 1, 1, 0, 0, 0, 0, "interlaced", 8,
      "gray", -1, "false", "HV-xx51", "1", 1, -1, out hv_AcqHandle);
                HOperatorSet.GrabImageStart(hv_AcqHandle, -1);
                HOperatorSet.GrabImageStart(hv_AcqHandle, -1);
            }
            catch { MessageBox.Show("未能找到相机2,请检查相机是否连接"); }
            th2 = new Thread(Recv);
            th2.IsBackground = true;

        }
        public void Recv()
        {
            while (aaa)
            {
                HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1);
                HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);
            }
        }
        public void recv()
        {
            while (ttt)
            {
                HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1);
                HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height);
                // HOperatorSet.DispObj(ho_Image, hWindowControl1.HalconWindow);
                // HOperatorSet.SetPart(hWindowControl1.HalconWindow, 0, 0, hv_Height, hv_Width);
            }

        }
        public void Camera1()
        {
            try
            {
                HOperatorSet.GrabImageStart(hv_AcqHandle, -1);
                //抓取图像
                HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1);
     public void Camera2()
        {
            try
            {
                //开始抓取图片
                HOperatorSet.GrabImageStart(hv_AcqHandle, -1);
                //抓取异步图像
                HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1);
  private void butAutoRun_Click(object sender, EventArgs e)
        {
            Camera1();
            Camera2();









奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2018-5-9 22:29:15 | 显示全部楼层
相机都用的同一个相机句柄hv_AcqHandle,采集图像的时候也是一样的代码。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表