halcon与C#互通

Halcon转到C#我们要先添加引用halcondotnet.dll一般在halcon文件下的bin/dotnet35

 

 

在Form1_Load写下开始连接相机   这里我使用的控件是textBox来实时相机图像

try
   {
       //打开窗口
       HOperatorSet.OpenWindow(0, 0, textBox1.Width, textBox1.Height, textBox1.Handle, "", "", out hv_Windowld);
       //连接相机
       HOperatorSet.OpenFramegrabber("DirectShow", 1, 1, 0, 0, 0, 0, "default", 8, "rgb",
-1, "false", "default", "[0] Integrated Camera", 0, -1, out hv_AcqHandle);
       HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1);
       ho_Image.Dispose();

       // HOperatorSet.CloseFramegrabber(hv_AcqHandle);

   }
   catch
   {
       MessageBox.Show("无法打开相机");
   }

 

之后我们要使用一个时间time控件来实时拍照并且我们还要获取图片的大小,使得图像正好在控件textBox内

 

  if (checkBox1.Checked == true)
  {
      //采集图像
      GrabImage(out ho_Image, hv_AcqHandle);

      //获取图像大小
     
      GetImageSize(ho_Image, out hv_Width, out hv_Height);

      //设置在窗口中显示图像(不是实时显示)
      SetPart(hv_Windowld, 0, 0, (HTuple)hv_Height, hv_Width);
      DispObj(ho_Image, hv_Windowld);
  }

最后我们要拍照保存至我们PC中,通过触发按钮

   private void button1_Click(object sender, EventArgs e)
   {
       checkBox1.Checked = false;
       if (checkBox1.Checked == true)
       {
           MessageBox.Show("请先关闭实时");
       }
       else
       {

//保存图片,写入PC中
           WriteImage(ho_Image, "jpg", 0, @"D:/OneDrive/图片/halcon1/ssss.jpg");
       }
   }

最后这是我暂时的窗口(未经完善)

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小兴-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值