【VB开源代码栏目提醒】:网学会员VB开源代码为您提供HALCON程序指引FOR VB - 机械机电参考,解决您在HALCON程序指引FOR VB - 机械机电学习中工作中的难题,参考学习。
Edited by Foxit PDF Editor Copyright c by Foxit Software Company 2004 - 2007 For Evaluation Only. 中文手册 程序指引 for Visual Basic 1 ProgrammersGuide for Visual Basic 在此章节您将
学习如何快速地使用 Microsoft Visual Basic 和 HALCON/COM 的接口 来发展 HALCON 的应用程序我们将会用简单的步骤来告诉您如何完成。
而这个小程序本 身就是一个 GUI 的接口。
此外您也可以在其它的范例程序中得到其它的程序
代码如 Visual Basic 以及 HALCON 的程序
代码让您获得一些额外的信息。
在此章节中所撰写的程序
代码早已跟其它的范例一起放在目录 HALCONROOTexamplesvbManual 中。
然而我们还是希望您照着底下的步骤在程序 中实际操作过一次如此你才能实际了解如何以 Visual Basic 来开发程序并可藉由这些步 骤获取一些额外的信息。
请注意当您使用 HALCON/COM 和 Visual Basic 时您需要在 Windows NT 4.0 Service Pack 4或 Windows 2000、Windows Xp 的
作业环境下才可使用此外这些项目的 案范例皆由 Visual Basic6.0 所产生。
1 First Step: The GUI Go ahead and 1.开启 Visual Basic产生一个 New Project 的对话框您可以选择所要的项目型态选 择 New 卷标页在此范例中我们选择 Standard EXE 并开启。
2.点选菜单 Project 项目中的 Components产生一个 Components 对话框这时对话 方块中会列出
系统中已安装之组件选择 Controls 标签页然后加载 Halcon/COM library 项目。
3.按下 F2 键会显示对象浏览器你能在这里找到 HImageX 并且浏览某些对应的 method。
选取某个 method 后就能在对象浏览器底部的状态区域显示出它的参数这有 如一个简短的辅助文字。
最后关闭这个对象浏览器。
4.现在查看屏幕的窗体标题为 Form1 另外在屏幕的右边我们可以看到一个区域的标题叫 Properties - Form1你可以在这个属性窗口里改变 active GUI 对象的属性。
现在点选 Form1 的 Caption 并且改变其字符串成为 HalconX example。
你应该可以在窗体标题上立即看 到更改的结果。
2 图 10.1完成 10.1 的所有步骤之后你应该可以完成像图中的设定 5.将窗体调整到适当的大小 6.看到左边的工具箱你可以在这里找到全部的控件并且可以将它放置到窗体里面。
每 个控件都是由一个小小的 icon 所显示出若移动您的鼠标在不同的 icon 上可看到每个 icon 的名称。
你应该会找到一个叫作 HwindowXCtrl 的 icon你猜对了这就是我们 HALCON 的 ActiveX 控件。
7.产生一个 HWindowXCtrl 的 icon。
在窗体中画出一个矩形区域大约近似于正方形放开 鼠标键时这个方形区域就会变成黑色的。
8.在左边的工具箱选择 CommandButton 的 icon在窗体中 HALCON window 控件底下画 出一个 button并在属性盒中改变 button 的 caption 为 Next 。
9.在工具箱中选择 Label并且在窗体中的 button 控件下面画出一个稍为长的方形区域。
如果窗体空间上的不足请视需要自行重设大小。
10.为了配合之前产生的控件可重新调整窗体的大小。
最后屏幕上的窗体看起来应该和 图 10.1 是一样的。
3 2 Second Step: Functionality 现在你已经完成 GUI 的部份了再来你应该开始某些的应用了 1.在窗体的任意一个地方右键单击并选择 View Code。
这时会有一个程序
代码窗口覆盖在窗体之 上。
在这个窗口中有二个 combo box。
我们在左边的 combo box 选择 Form当我们执行程 式时会先起始窗体则这个区域的程序
代码会先被执行到。
2.在子程序中插入一行
程序如下 Private Sub Form_Load Label1.Caption Click Next to start End Sub 当程序开始时将在 bottom 上改变 label 的文字。
3.接下来我们将宣告某些重要的变量在 source code 窗口左边的 combo box 选择 General并在程序的最前端插入底下二行程序。
Dim Monkey As New HImageX Dim Window As HWindowX online selection boxes 将会帮助您把所想要使用的对象类型显示出来。
在此处我们只要产 生二个物件HImageX 和 HWindowX。
在第一行中关键词 New 的原因是我们要 HImageX 对象被 instantiate即配置一块内存给它。
第二行的 HWindowX 是不一定需要的因为它 是一个 ActiveX 控件当我们在窗体中产生它时它已经是一个 instantiate。
4.当我们知道对象 Monkey 已经是一个 instantiate虽然它还没初始一个影像但变量 Window 仍不知参照何处所以在 Form_Load插入另一行程序如下 Private Sub Form_Load Set Window HWindowXCtrl1.HalconWindow Label1.Caption Click Next to start End Sub 现在变量 Window 参照到 ActiveX 控件的 HWindowX。
5.切换到 Command1 到另一个子程序中插入二行程序如下 Private Sub Command1_Click Call Monkey.ReadImage monkey Call Window.DispObjMonkey End Sub 6.按下 F5 开始执行并且查看其结果 当我们在输入程序
代码时Visual Basic 有一个非常便利的特点即当它知道这个类别的方 法时它就允许你从选单中选取你所要的方法见图 10.2。
当你呼叫一个方法时你也可以 透过它的帮助在右边的选单中的提示取得正确的参数见图 10.3。
假如没有任何的型 4 态显示出来那么就需要一个 VARIANT。
Figure 10.2: Visual Basic helping you to select a method. Figure 10.3: Visual Basic helping you with the correct parameters. 3 Final Step: More Functionality 到目前为止的程序只能作一些基本的应用不能作其它更多的应用但它只需要十行程序
代码 底下我们将延伸这些功能将我们的应用程序转成较小影像的处理 1.在变量宣告的起点扩充一些变量宣数如下 Dim Monkey As New HImageX Dim Window As HWindowX Dim Region As HRegionX Dim Eyes As HRegionX Dim State As Integer 虽然这些宣告不是必需要的Visual Basic 会自动的宣告变量然而事先宣告却是一很好的 作法。
5 2.选取子程序 Command1_Click并改变如下 Private Sub Command1_Click If State 3 Then End End If If State 2 Then Set Eyes Region.SelectShapearea and 500 50000 Set Eyes Eyes.SelectShapeanisometry and 1 1.7 Call Window.DispObjMonkey Call Window.DispObjEyes Label1.Caption click Finish to terminate Command1.Caption Finish State 3 End If If State 1 Then Set Region Monkey.Threshold128 256 Set Region Region.Connection Call Window.SetColored12 Call Window.DispObjRegion Label1.Caption Next the apes eyes will be selected State 2 End If If State 0 Then Call Monkey.ReadImagemonkey Call Window.DispObjMonkey Label1.Caption Next the image will be segmented into several regions State 1 End If End Sub 3.透过一个共享的图像处理范例执行这个小程序并观看它的结果 6 4 其它的范例 有更多的程序
代码范例可以让你学习如何使用 HALCON/COM。
这些范例可以在底下的目录中找到 HALCONROOTexamples 底下的例表中提供更多范例且简短解译它的功能。
我们建议在你的
工作目录中另外建立新的 练习范例去对这些范例进行试验。
1. HALCONROOTexamplesvbApplicationsFA 这个范例是在显示如果使用 correlation-based pattern matching。
2. HALCONROOTexamplesvbApplicationsMonitoring 这个范例是在显示道路交通的路口监控。
3. HALCONROOTexamplesvbOnlineBarcode 这个范例是在显示条形码的阅读。
4. HALCONROOTexamplesvbOnlineMeasure 如何使用测量工具的例子。
5. HALCONROOTexamplesvbOnlineMovement 这个范例是使用不同的影像来找寻移动。
6. HALCONROOTexamplesvbSegmentation An example illustrating the possibilities for interactive image processing applications. 7. HALCONROOTexamplesvbToolsCalibration 这个范例是在显示如何校正相机。
8. HALCONROOTexamplesvbToolsMatching 这个范例是在显示如何使用 shape-based matching。
9. HALCONROOTexamplesvbToolsMeasure 这个范例是在显示如何量测 IC 的接脚。
10. HALCONROOTexamplesvbManual 在此章节中介绍。
我们也可以在 examplesvb.net、examplesc、examplesdelphi 和 examplesmfc 子目录 中找到其它的范例这些范例也说明了在 Visual Basic.
NET、C、Borland
Delphi 或其它 Microsoft Visual C的 MFC 中如何使用 HALCON/COM。
7