C#应用视频教程3.3 Halcon+C#测试
来源:互联网 发布:淘宝logo设计哪家好 编辑:程序博客网 时间:2024/06/05 17:01
直接把这个DLL拖放到工具箱上,然后可以出现一个HWindowControl的控件(跟上一节OPENGL很像)
把你的C#程序目标平台改成对应的电脑系统版本,同时目标框架4(个人经验,如果改成.NET Framework 3.5或者4.5都会有问题),可以直接F5运行一下看又没有报错
执行Halcon的代码导出,先来看最简单的代码导出,打开官方的范例clip,然后导出为C#的程序(保持所有设置如下)
在前面做好的C#程序中定义一个新的类,然后直接复制粘贴所有代码(顶部添加引用HalconDotNet,然后把class XXX删掉直接复制这个HDevelopExport)
在主程序中直接窗体载入的时候写下面两句话,生成类的实例,然后执行实例的RunHalcon方法(不管你的Halcon程序多么复杂,在导出为C#类的时候都只有很少的几个方法)
如果不能运行则注释掉报错的代码(比如disp_continue_message,就是类似于显示一个文字,箭头这种方法可能还不支持),这些不影响使用
可以发现整个程序已经可以运行了(虽然还不能像Halcon那样把所有采集到的变量放到数组中,这些我们后面再考虑)
那么能不能做的简单一点呢?我们如果只是希望展示一副图片,或者打开相机采集接口,首先还是用Halcon产生三种图片的获取方法(都可以用Image Acquistion方法自动生成代码)
将产生的C#程序做一下重新编排,Action里面只放第一段的代码
再把第二段的代码重新创建一个方法,并且放进去(跟前面的方法很类似)
测试发现都是可以正常运行的,由此我们就可以自己扩充Halcon导出的类了
那么如何支持相机的图像呢?跟官方导出的代码不同,我们这里需要注意while死循环中一方面采集,一方面就要显示(DispObj方法),此外由于是死循环,所以需要放到额外的线程中执行,否则界面会卡死
有相机的打开,就要有对应的关闭方法,最方便的做法还是做一个全局的布尔值,如果是false,则不执行抓取图像和显示图像的操作(读这样可以测试使用官方的CloseFramegarbber方法跟前面开启对应,实际上还是会有很多问题,窗体会卡死)
已经可以正常采集到相机的图像了(注意打开浏览静态图像之前先关闭掉相机采集图像,此外这里使用的还是绝对的文件路径,所以如果你的项目不在桌面上,第二幅图片可能打不开)
更多教学视频和资料下载,欢迎关注以下信息:
我的优酷空间:
http://i.youku.com/acetaohai123
我的在线论坛:
http://csrobot.gz01.bdysite.com/
问题交流:
QQ:910358960
邮箱:acetaohai123@163.com
- C#应用视频教程3.3 Halcon+C#测试
- C#应用视频教程3.4 Halcon+C#测试
- C#应用视频教程3.2 Halcon软件测试
- C#应用视频教程3.1 USB工业相机测试
- C# 视频教程
- C#视频教程
- C#应用视频教程1.1 Socket通信基础
- c#下halcon配置
- Halcon & C# 联合编程
- Halcon + VS2013 C#配置
- halcon C# 使用pictureBox显示halcon图像
- halcon与C#混合编程
- C#与Halcon联合编程
- 分享C#高端视频教程WPF讲座——WPF应用
- C#应用视频教程1.2 Socket通信客户端实现
- C#应用视频教程1.4 实现完整以太网通讯
- C#应用视频教程1.3 Socket通信客户端完善
- C#应用视频教程2.1 OPENGL虚拟仿真介绍
- #define与enum的区别
- C#应用视频教程2.3 OPENGL虚拟仿真介绍
- C#应用视频教程2.4 OPENGL虚拟仿真介绍
- C#应用视频教程3.1 USB工业相机测试
- C#应用视频教程3.2 Halcon软件测试
- C#应用视频教程3.3 Halcon+C#测试
- C#应用视频教程3.4 Halcon+C#测试
- Tensorflow Session graph Op 的理解
- C#.NET常见问题(FAQ)-找不到类型或命名空间名称“ManagementBaseObject”怎么办
- [数据结构]循环链表(c++/类模板)用例JosephRing
- C#.NET常见问题(FAQ)-程序不包含适合于入口点的静态“Main”方法怎么办
- 虹膜识别源代码下载,分别基于MATLAB、C++、OpenCV
- C#.NET常见问题(FAQ)-Visual Studio VS如何显示行号
- 实验2.3 双链表实现成绩管理——基础操作的实现