[精华]博客halcon进修经历
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[精华]博客halcon进修经历
HALCON
是当今machine vision技术的代表,它总是以最新科技为基础,提供了现今市场中最强大的vision library。除了提供了完整的标准 machine vision功能,还有一系列优异的功能,例如,3D相机校正,形状以及原件导向的匹配,次像元精度的物体撷取,计算,利用双像立体量测,任意形状的 ROI,以及更多的功能。
用HALCON 来开发程序的流程:
1 、利用 HDevelop 检视分析影像,建立计算雏形,最后完成视觉计算方法的发展。程序可以分成不同的子程序,每个procedures 可以只做一件事,像初始化,计算,或是清除。主程序用于呼叫其它子程序,传递影像或是接收显示结果。最后,程序输出成我们要用的程序代码,接续下一步工作。
2 、完整的程序发展是在程序设计环境中进行,像是 Microsoft
Visual Studio 。由 HDevelop 输出的程序代码,透过指令加入程序中 ( 例如 include) 。至于程序的接口等等则是利用程序语言的功能来建构,接下来,compiled and linked ,产生应用程序。自行撰写的程序和 HALCON library 一起装入机器中出货,或是将程序卖到客户处。
参数和数据结构:
(iconic ,例如影HALCON 有两种基本的数据型态 : 图像数据
像 ) 以及控制数据 ( control ,例如变量,整数,字符串,handle 等
等 ) 。所有运算子的参数都是以相同的方式排列:输入图像,输出图像,输入控制,输出控制。当然,并非所有的运算子都具有上列四类参数,不过参数排列的次序依旧相同。
ROI :影像中要处理的数据范围。
region 即是一堆像元的集合。 region 中的像元不一定要相连,如果要让相
连接的像元成为一个 region ,只要呼叫运算子 connection 即可。
XLD 包含了所有等值线以及多边型的数据。 XLD 对象中除了点坐标数据,还
包含了全域或区域属性,例如 edge 方向,或是分割时的 regression 参数等等。
Tuples 就像一个数组,其中的数据型态可为整数,浮点数或是字符串。当我
们计算一个 region 的某些特征时,会传回一个结果,如果计算的是一群
region ,会传回一个 tuple ,其中含有每个 region 的特征计算结果。 Control tuple 的指标由,开始。
Parallel HALCON
运算版本的 HALCON 在多处理器的计算机上能自动进行数据平
行化,分配到不同的处理器去作业,例如影像。取像
HALCON 提供了 40 余种取像设备连接接口,他们的名称一律以 HFG 开头,至于以 parHFG 开头者是用于 Parallel HALCON。
comment ( : : Comment : ) 注释语句 exit ( : : : ) 退出函数
open_file ( : : FileName, FileType : FileHandle ) 创建( 'output' or 'append' )或者打开 ( output ) 文本文件 fwrite_string ( : : FileHandle, String : ) 写入string dev_close_window ( : : : ) 关闭活跃的图形窗口。 read_image ( : Image : FileName : ) ;加载图片
get_image_pointer1 ( Image : : : Pointer, Type, Width, Height ) 获得图像的数据。如:类型(= ' 字节',' ' ',uint2 int2 等等) 和图像的尺
寸(的宽度和高度)
dev_open_window( : :Row,Column,WidthHeight,Background :Wind
owHandle ) 打开一个图形的窗口。
dev_set_part ( : : Row1, Column1, Row2, Column2 : ) 修改图像显示的位置
dev_set_draw (’fill’) 填满选择的区域dev_set_draw (’margin’) 显
示的对象只有边缘线,
dev_set_line_width (3) 线宽用Line Width 指定 threshold ( Image : Region : MinGray, MaxGray : ) 选取从输入图像灰度值的g 满足下列条
件:MinGray < = g < = MaxGray 的像素。
dev_set_colored (number) 显示region 是用到的颜色数目
dev_set_color ( : : ColorName : ) 指定颜色 connection ( Region : ConnectedRegions : : ) 合并所有选定像素触摸相互连通区
fill_up ( Region : RegionFillUp : : ) 填补选择区域中空洞的部分
fill_up_shape ( Region : RegionFillUp : Feature, Min, Max : )
select_shape ( Regions : SelectedRegions : Features, Operation, Min, Max : ) 选择带有某些特征的区域,Operation 是运算,如“与”“或”
smallest_rectangle1 ( Regions : : : Row1, Column1, Row2,
Column2 ) 以矩形像素坐标的角,
Column1,Row2(Row1,Column2) 计算矩形区域( 平行输入坐标轴) 。
dev_display ( Object : : : ) 显示图片 disp_rectangle1 ( : : WindowHandle, Row1, Column1, Row2,
Column2 : ) 显示的矩形排列成的。disp_rectangle1 显示一个或多个矩
形窗口的产量。描述一个矩形左上角(Row1,Column1) 和右下角
(Row2,Column2) 。显示效果如图1.
texture_laws ( Image : ImageTexture : FilterTypes, Shift,
FilterSize : )