资源描述:
《halcon9.0编程技术详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Replacethisboxwithyourlogo编程语言nHALCON&VCnHALCON&C#HALCON9.0nHALCON&VB编程技术详解nHALCON&C©2003-2009MVTecSoftwareGmbHReplacethisboxReplacethisboxwithyourlogowithyourlogo示例程序:螺钉分拣示例程序:螺钉分拣步骤:n读图n阈值化n连通n填充n选择特征ReplacethisboxReplacethisboxwithyourlogowithyourlogoHDevelop示例代码HD
2、evelop编程特点read_image(Image,'object')n语法是Pascal和VisualBasic的结合get_image_pointer1(Image,Pointer,Type,Width,Height)n每一步操作都由算子来实现dev_open_window(0,0,Width,Height,'black',WindowHandle)dev_display(Image)Ø大部分算子由HALCON函数库提供threshold(Image,Regions,0,150)Ø特殊算子:循环,赋值,控制等connecti
3、on(Regions,ConnectedRegions)n允许使用控制参数表达式fill_up(ConnectedRegions,RegionFillUp)select_shape(RegionFillUp,SelectedRegions,n变量勿需声明['area','circularity'],'and',[1000,0.95],[5000,1.00])n专门算子实现图形可视化:dev_*dev_display(Image)n数组和图标数据内存自动管理dev_display(SelectedRegions)Ø初始化,释放,重写
4、,句柄明确清除1ReplacethisboxReplacethisboxwithyourlogowithyourlogoHALCON&C++输出的C++代码HobjectImage,Regions,ConnectedRegions,RegionFillUp;HobjectSelectedRegions;HTuplePointer,Type,Width,Height,WindowHandle;read_image(&Image,"object");get_image_pointer1(Image,&Pointer,&Type,&Wi
5、dth,&Height);open_window(0,0,Width,Height,0,"","",&WindowHandle);threshold(Image,&Regions,0,150);connection(Regions,&ConnectedRegions);fill_up(ConnectedRegions,&RegionFillUp);select_shape(RegionFillUp,&SelectedRegions,HTuple("area").Concat("circularity"),"and",HTuple(
6、1000).Concat(0.95),HTuple(5000).Concat(1.0));ReplacethisboxReplacethisboxwithyourlogowithyourlogoHALCON&C++编程步骤C++程序特点n新建VC工程n标准C++程序风格n添加.h文件和.lib文件和路径n每个HALCON算子对应一个全局函数#include“HalconCpp.h”nHDevelop专门的控制语句由典型的C++语句来替换(赋值,循环等)ProjectSettingsLinkHalconcpp.libn数组表达式由H
7、Tuple类来实现n声明变量n两种类足以解决HALCON的数据结构:HTuple,Hobjectn设置Halcon窗口用于显示图像nHALCON中用于可视化的函数dev_*转换为标准HALCON算子n添加处理图像代码n数组和图标变量的内存自动管理:初始化,释放,重写,句柄清除n注意:usingnamespaceHalcon;ReplacethisboxReplacethisboxwithyourlogowithyourlogoHALCON&C#C#输出代码HObjectho_Image,ho_Regions,ho_Connecte
8、dRegions;HObjectho_RegionFillUp,ho_SelectedRegions;HTuplehv_Pointer,hv_Type,hv_Width,hv_Height;HTuplehv_WindowHandle;HOperat