C#学习笔记-调用HALCON代码
来源:互联网 发布:linux 服务编程 编辑:程序博客网 时间:2024/05/15 23:52
测试环境:
软件 - HALCON12.0汉化版
软件 - Visual Studio 2015
相机 - 笔记本自带摄像头
1,启动HALCON,选择助手,选择Image Acquisition,点击自动检测接口,点击代码生成,生成Halcon代码。
************************************************
2,将Halcon代码导出成C#文件(例子:HalconTest.cs)
************************************************
************************************************
************************************************
3,创建C# Winform工程,添加现有项,将HalconTest.cs添加进入工程
************************************************
4,添加引用,将halcondotnet.dll添加进入工程
5,打开工具箱,右击选择, 选择项
************************************************
6,点击浏览,选择库文件halcondotnet.dll,添加halcondotnet.dll的HWindowControl添加进入工具箱
************************************************
************************************************
************************************************
7,制作界面
************************************************
8,引用命名空间,添加按钮点击事件
using HalconDotNet;//...........HDevelopExport HA;public Form1(){ InitializeComponent(); HA = new HDevelopExport(); HA.InitHalcon();}//连续取像按钮点击事件private void btnCapture_Click(object sender, EventArgs e){ HA.RunHalcon(this.hWindowControl1.HalconWindow);//HWindow}
9,修改HalconTest.cs中的action方法,增加语句 HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle),将图片显示出来
private void action(){//.................................while ((int)(1) != 0){ ho_Image.Dispose(); HOperatorSet.GrabImageAsync(out ho_Image, hv_AcqHandle, -1); HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle);//增加显示语句 //Image Acquisition 01: Do something} }
10,主界面会卡住,修改HalconTest.cs中的RunHalcon方法,将action的调用添加在后台线程中
public void RunHalcon(HTuple Window) { hv_ExpDefaultWinHandle = Window; //****将action调用放入后台线程中 System.Threading.Thread th = new System.Threading.Thread(() => { action(); }); th.IsBackground = true; th.Start(); }
备注:使用PictureBox显示,很多异常没有排除…….
private void btnCapture_Click(object sender, EventArgs e){ //HA.RunHalcon(this.hWindowControl1.HalconWindow); HWindow hw = new HWindow(); hw.OpenWindow(0, 0, this.pictureBox1.Width, this.pictureBox1.Height, this.pictureBox1.Handle, "visible", ""); HA.RunHalcon(hw);}
- C#学习笔记-调用HALCON代码
- HALCON学习笔记
- HALCON学习笔记
- HALCON学习笔记1
- HALCON学习笔记2
- HALCON学习笔记3
- C#中调用Halcon导出类
- Halcon基础教程1.3学习笔记
- 关于halcon学习的笔记
- Halcon 学习笔记 (一)
- Halcon学习笔记_01:Threshold
- Halcon学习笔记_02:Morphology
- Halcon 学习笔记 (一)
- Halcon 学习笔记 (一)
- halcon学习笔记(4)——调用图形函数画Region
- Halcon学习笔记(二) 算子学习
- 【Halcon】Halcon笔记
- 【Halcon】Halcon笔记
- oracle学习总结(四)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 Xor
- 有趣的数
- 【ES6】class的继承
- Virtuoso Jena Provider查询日期型数据的bug修正
- C#学习笔记-调用HALCON代码
- 动态编译和静态编译的区别
- HTTP缓存机制详解
- python3怎么自己创建一个模块并且调用(个人重新总结了下)
- java5
- Spring入门 IOC
- 009-SDK框架之LYWSDKPlatform.h
- 嵌入式软件工程师/linux c程序员 笔试题
- LeetCode-46-Permutations 暴力递归