机器视觉系统教程谢彬芬.docVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
条件 采集卡、数据线、大恒相机 Halcon软件、Visual C++6.0、采集卡驱动程序 采图 在主机安装好采集卡,用数据线把相机和主机连接起来,然后安装采集卡驱动程序。 打开相机控制软件, 选择你需要拍照的相机 点击工具栏的连续采集,采集开始拍照(其实是定时触发相机拍照) 在画面单击右键,点击最佳匹配,显示最大AOI(即相机分辨率)。 调节相机、光源、还有在相机控制软件设置显示需要的快门时间增益等其他参数,直到画面出现理想图像。 此时,需要记下相机序列号、快门时间以及单位,还有增益的数值,及相机分辨率,这是都是后续VC编程需要的参数。 记完参数以后,点击停止采集 然后保存图像,至此,整个采图过程已经完成。 Halcon 用Halcon打开刚刚保存的图片,并作需要的算法处理。本次教程为了简单,算法只是在刚刚拍照的图片上显示Message, 效果 认为效果没有问题时,即可把程序导出成C++文件。 用VC做界面 打开VC6.0,新建一个TEST名的MFC AppWizard(exe),点击OK 2.选择基于Dialog,直接点击Finish 3.如下显示: 把Dialog上不需要的控件删除,在控件栏上选择Picture和Buttom两个控件增添到Dialog上,命名ID分别是IDC_VISION \ IDC_BTN_TRIGGER,并重新布局控件位置以及尺寸大小。注意Picture控件的宽和高尺寸比例一定要跟刚刚上面获得的相机分辨率对应比例一样,否则显示图像比例失真。完成后效果如下: 至此,本次示范例程的整个框架已经完成,接下来就是插入代码,然让它工作。 找到StdAfx.h,把下面代码写进去,注意相机序列号和尺寸必须与你正在使用的一样,否则程序启动不了。 找到StdAfx.cpp,,把刚刚在StdAfx.h定义的disp_message,写上函数体 接下来将李工封装好的相机类以及Halcon类导入到程序里面。首先把 复制到TEST的文件夹里面,如下 9.然后在VC程序里面点击菜单栏的Project—Add To Project—Files,找到TEST的文件夹,并把刚刚复制的相机类和Halcon类的头文件和CPP文件导入至程序里面。 此时,你会发现,已经成功添加两个类。 10.然后分别找到相机类的cpp文件和Halcon的cpp文件,包含stdafx.h TEST.h这两个头文件,注意是TEST.h不是TESTDlg.h 11.然后把相机控制和Halcon的运行需要Dll和lib文件,以及对应的头文件,拷贝到TEST目录下 如下: 上面的Dll,Lib和头文件一般在安装目录里面可以找到。 12.然后在VC程序里面点击菜单栏的Project—Add To Project—Files,找到TEST的文件夹, 文件类型选择.lib,把图示的5个lib文件导入去 如下:即成功导入。此时编译,没有报错, 但程序还不能使用,因为没有把不同的类连接起来。 13.找到头文件TESTDlg.h,包含相机类的头文件和Halcon类的头文件, 在TESTDlg类定义内加入以下内容: 14.然后在TESTDlg.cpp文件里面,把OnSnapFinish()和GetPicFromCamera()两个成员函数的函数体写进去。 15.找到TESTDlg的初始化函数,初始化函数上面在BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间加入如下代码。 然后在初始化函数里面添加以下内容 16.为软触发Buttom添加一个响应函数 17.编译一下成功通过,启动程序,按下软触发,成功拍照。有时候相机不响应或者显示图像很黑,原因是,相机类里面的相机增益和快门时间跟你刚刚拍照时的参数差异比较大,解决方法是直接在相机类文件修改参数 18.为安全起见,使用完程序要释放相机,重载Distory函数,在窗口销毁时,自动释放相机资源。 19.打开在halcon导出的Test.Cpp文件,找到action函数,你会发现所有你刚刚在halcon写的算法都在这函数上,而且导出代码基本上跟原来的是一样。 并且找到你刚刚写的核心Halcon算法, 20.返回VC程序,在Halcon类的头文件里定义你本次功能需要的函数名 21.在halcon类的cpp文件里定义该函数的函数体,主要把刚刚导出的核心代码写进去。 22.然后回到相机拍摄完成相应函数。调用刚刚插入的函数即可。 23.编译运行程序,点击软触发,效果如下: 说明已经完成本次程序

您可能关注的文档

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档