vb连接halcon读取图像
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
halcon基本,vb连接halcon读取图像,视频
halcon学习方法:安装完halcon之后,在开始里出现一些文档
quick_guide.pdf
快速入门halcon
hdevelop_users_guide.pdf
详细讲解在hdevelop中使用halcon,及hdevelop的操作
programmers_guide.pdf
详细讲解在高级语言中的使用halcon
reference_hdevelop.pdf
讲解各个算子、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、vb中使用halcon窗口加载图像
1.读取图像
[cpp]view plaincopyprint?
1.read_image (Lena, 'F:/image/lena.jpg')
2.get_image_size (Lena, Width, Height)
3.dev_close_window ()
4.dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)
5.set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
6.dev_display (Lena)
7.disp_continue_message (WindowHandle, 'black', 'true')
8.stop ()
2.导出vb的bas代码
选择文件/导出,弹出
注意:此处选择使用halcon窗口
3.vb中调用read_image.bas
先看一下read_image.bas的内容,可知在需要的地方直接调用main即可
[vb]view plaincopyprint?
1....
2.
3.' Main procedure
4.Private Sub action()
5.
6. ' Local iconic variables
7. Dim ho_Lena As HUntypedObjectX
8.
9.
10. ' Local control variables
11. Dim hv_Width As Variant, hv_Height As Variant
12. Dim hv_WindowHandle As Variant
13.
14.
15. Call Op.ReadImage(ho_Lena, "F:/image/lena.jpg")
16. Call Op.GetImageSize(ho_Lena, hv_Width, hv_Height)
17. If COMExpWinHandleStack.IsOpen() Then
18. Op.CloseWindow (COMExpWinHandleStack.Pop())
19. End If
20. Call Op.SetWindowAttr("background_color", "black")
21. Call Op.OpenWindow(0, 0, Tuple.TupleDiv( _
22. hv_Width, 2), Tuple.TupleDiv(hv_Height, 2), 0, "", "", hv_WindowHandle)
23. COMExpWinHandleStack.Push (hv_WindowHandle)
24. Call set_display_font(hv_WindowHandle, 14, "mono", "true", "false")
25. If COMExpWinHandleStack.IsOpen() Then
26. Call Op.DispObj(ho_Lena, COMExpWinHandleStack.GetActive())
27. End If
28. Call disp_continue_message(hv_WindowHandle, "black", "true")
29. HDevelopStop
30.End Sub
31.
32.
33.
34.#If Not NO_EXPORT_APP_MAIN Then
35.Sub InitHalcon()
36. ' Default settings used in HDevelop
37. Call Op.SetSystem("do_low_error", "false")
38.End Sub
39.
40.Sub Main()
41. Call InitHalcon
42. Call action
43.End Sub
44.
45.#End If
3.1.新建一个exe 的project ,然后保存,然后添加read_image.bas 文件到此project
3.2.添加halcon/com 控件:选择project/components ,弹出的菜单中
3.3.在工具箱中会出现HWindowXCtrl 控件,拖进form1,然后再拖一个commandbutton,
双击
commanbutton,加入代码 [vb] view plaincopyprint? 3. End Sub Private Sub Command1_Click()
Call Main 3.4.按F5运行程序,然后单击command1,弹出 这是一个halcon 界面库构造的窗口,脱离vb 窗口的。 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 vb 中使用hwindowxctrl 的窗口加载图像 在上面第2步选择使用导出模板。 导出的代码如下,可知需要调用的过程是inithalcon 和runhalcon [vb] view plaincopyprint? 1. ... 2. ' Main procedure 3. Private Sub action() 4. 5. ' Local iconic variables 6. Dim ho_Lena As HUntypedObjectX 7. 8. 9. ' Local control variables 10. Dim hv_Width As Variant, hv_Height As Variant 11. Dim hv_WindowHandle As Variant 12. 13. Call Op.ReadImage(ho_Lena, "F:/image/lena.jpg") 14. Call Op.GetImageSize(ho_Lena, hv_Width, hv_Height)