Halcon在机器视觉中的典型应用.ppt_第1页
Halcon在机器视觉中的典型应用.ppt_第2页
Halcon在机器视觉中的典型应用.ppt_第3页
Halcon在机器视觉中的典型应用.ppt_第4页
Halcon在机器视觉中的典型应用.ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国大恒(集团)有限公司北京图像视觉技术分公司,HALCON软件在机器视觉中的典型应用,主讲人:刘伟,软件层次,HALCON的实际应用,图像获取 (前提) 模板匹配(定位,比较) Blob分析(基础一) 边缘提取(基础二) 测量(结果) 其它应用,HALCON实际应用:图像获取,获取高质量图像的前提条件 合适的光源 合适的镜头 合适的采集设备 合适的采集参数设置 ,HALCON实际应用:图像获取,应用程序,HALCON 库,采集设备管理,图像处理,数据管理,加载动态库,HALCON实际应用:图像获取,图像获取接口特点 图像获取链接库独立于其它图像处理链接库 一致的代码模板(磁盘文件和图像采集设

2、备) 支持多个采集设备 同步和异步采集 支持外触发 图像尺寸、图像位数、颜色空间可调 支持颜色查找表 支持与设备相关的参数调整,HALCON实际应用:图像获取,图像获取主要接口函数 open_framegrabber, info_framegrabber grab_image, grab_image_async, grab_image_start set / get_framegrabber_param close_framegrabber, close_all_framegrabbers 如果是单个磁盘文件 read_image,HALCON实际应用:图像获取,打开采集设备,如果是序列磁盘文

3、件,设备为File 获取图像, grab_image(_async)(同步采集或异步采集) 关闭设备,open_framegrabber (DahengCAM, , 1, 1, 0, 0, 0, 0, default, -1, gray, -1, false, default, default, -1, -1, FGHandle),while (true) grab_image (Image, FGHandle) * Apply image processing endwhile,close_framegrabber(FGHandle),HALCON实际应用:图像获取,通过图像获取助手,可快捷

4、简单获取图像,并可生成代码,HALCON实际应用:图像获取,HALCON,HALCON实际应用:图像获取,HALCON实际应用:模板匹配,模板匹配的优势 应用于多数的应用 不需要太多参数调整 不需要分割 健壮 不需要任何的机器视觉知识,HALCON实际应用:模板匹配,模板匹配分类 基于灰度的模板匹配(gray-value-based) 利用模板图像的所有灰度值,不能适应光照变化、缩放变化、多通道图像等 用于简单图像 基于形状的模板匹配(shape-based) 使用边缘特征定位物体 对于很多干扰因素不敏感,例如光照变化、聚焦模糊,缩放变化等,适用于多通道图像 不适用于纹理图像 基于组件的模板匹

5、配(component-based) 适用于组成部件有相对运动的物体,使用边缘特征定位物 对于很多干扰因素不敏感,例如光照变化、混乱无序等,适用于多通道图像 不适用于纹理图像,聚焦不清的图像和形状变形,基于相关的模板匹配(conrelation-based) 适用于纹理图像,聚焦不清的图像和形状变形 不是适用于光照变化、混乱无序等,也不适用于多通道图像 基于描述符的模板匹配(descriptor-based) 对于很多干扰因素不敏感,例如光照变化、混乱无序,缩放变化等 不适用于纹理图像,聚焦不清的图像和多通道图像 基于变形模板的模板匹配(deformable) 对于很多干扰因素不敏感,例如光照

6、变化、混乱无序,缩放变化等 适用于多通道图像 对于纹理图像比较困难 基于点的模板匹配(point-based) 利用关键点的特征,图像金字塔,Level 1,Level 2,Level 3,Level 4,图像金字塔,金字塔中的模板,HALCON实际应用:模板匹配,模板匹配,参考图像,搜索图像,HALCON实际应用:形状模板匹配,* Generate ROI * read image from file or frame grabber inspect_shape_model(Image,ModelImage,ModelRegion,1, Contrast) dev_display(Image

7、) dev_display(ModelRegion),模板生成: 金字塔层,inspect_shape_model(Image,ModelImages,ModelRegions,5,40) dev_display(Image) dev_display(ModelRegions),匹配助手,从路径获得图像 生成芯片的感兴趣区域 检测模型 检测感兴趣区域,HALCON实际应用:形状模板匹配(定位),HALCON实际应用:形状模板匹配,模板匹配支持旋转 建模时的角度范围 AngleStart AngleExtent 角度用弧度表示,可通过函数rad()转换 为了表示旋转角度x, 赋值如下 Angle

8、Start = -x AngleExtent = 2x,HALCON实际应用:形状模板匹配,对于对称物体,建模时需限制角度的旋转范围,HALCON实际应用:形状模板匹配,模板匹配支持缩放 一般缩放范围取值 ScaleMin = 0.3; ScaleMax = 2,模板匹配中的极性问题,通常物体的极性是不会改变的 但一些情况下,物体的灰度值会翻转 物体或者背景会变化 或者明暗区域发生改变,Dark inside,Bright outside,模板匹配中的极性问题,Polarity mode: use_polarity,Template,Accepted objects,模板匹配中的极性问题,Po

9、larity mode: ignore_global_polarity,Template,Accepted objects,模板匹配中的极性问题,模板匹配: ignore_local_polarity,匹配: 允许一定程度上交叠,模型和它的外接轮廓框(bounding boxes) 外接轮廓框可以任意方向,匹配: 允许一定程度上交叠,Overlap定义为两个外接轮廓框的相交比率,物体的交叠区域,外接轮廓框的交叠区域,基于灰度的匹配(gray-value-based),车牌字符识别,基于形状的匹配(shape-based),可以适应缩放、旋转、交叠和不同极性的匹配,基于组件的模板匹配(compo

10、nent-based),处理器: 奔腾处理器1.73G 图像分辨率:640*482,基于相关的模板匹配(conrelation-based),能克服纹理背景和聚焦不清带来的影响,基于描述符的模板匹配(descriptor-based),通过特征点进行描述匹配,基于变形模板的模板匹配(deformable),车门检测,即使车门在三维空间内变动,仍然能匹配,基于点的模板匹配(point-based),多用于镶嵌图像时,大场景拼接,HALCON实际应用: Blob分析,Blob分析的基本思想:图像中相关联物体(前景)的像素可以通过其灰度值来标识,HALCON实际应用: Blob分析,Blob分析主要

11、流程:获取图像、分割图像、提取特征,初始分割、 形态学处理等,HALCON实际应用: Blob分析,一个简单的例子(非常理想的情况) read_image (Image, particle) threshold (Image, BrightPixels, 120, 255) connection (BrightPixels, Particles) area_center (Particles, Area, Row, Column),HALCON实际应用: Blob分析,threshold定义 threshold算子HALCON中速度最快使用频率最高的分割算法 如果目标体与背景之间存在灰度差,则

12、threshold首先被使用 如果环境稳定,阈值可在离线状态下一次确定,HALCON实际应用: Blob分析,HALCON实际应用: Blob分析,动态阈值分割 很多情况下由于背景不均一,无法确定全局阈值 目标体经常表现为比背景局部亮一些或暗一些 需要通过其邻域找到一个合适的阈值进行分割 如何确定其邻域? 可以通过一些平滑滤波算子来确定邻域,例如mean_image等,HALCON实际应用: Blob分析,动态阈值分割,其中S为平滑后的输入图像,gray profile smoothed gray profile,HALCON实际应用: Blob分析,全局阈值 动态局部阈值 通过均值滤波确定邻

13、域 滤波器mask尺寸大于字符笔画的宽度 选择所有比其邻域暗的像素,mean_image (Image, ImageMean, 21, 21) dyn_threshold (Image, ImageMean, Region, 15, dark),HALCON实际应用: Blob分析,形态学处理 分割之后,往往需要对区域做进一步处理才能满足要求 常用形态学相关算子 connection, select_shape, opening_circle, closing_circle, opening_rectangle1, closing_rectangle1, difference, interse

14、ction, union1, shaps_trans, fill_up 高级算子 boundary, skeleton等,HALCON实际应用: Blob分析,连通区域,阈值分割后,需要提取目标物体,为了提取目标物体不得不先找到连通区域 提取连通域的关键是领域搜索的类型 在Halcon所有的案例中8领域法是默认的,把白色部分分割出来 计算连通域 显示结果,Local threshold,Global threshold,HALCON实际应用: Blob分析,形态学算子,HALCON的特点之一 任意的结构元素 任意尺寸的结构元素 非常有效的处理 巨大的算子集合: 44个算子 经典算子 Erosi

15、on, dilation, opening, closing 高级算子 top-hat, bottom-hat, hit-or-miss, boundary 特殊算子 Fitting, pruning, thickening, thinning, skeleton,Input image,2. Closing with diagonal rectangle,Segmentation,1. Closing with vertical rectangle,形态学示例:,Union,定义 Operator union1: Union of all regions in one variable un

16、ion2: Unify all regions in the second parameter with each region in the first parameter Usage Generate regions by combining primitive shapes Combine segmentation results,Intersection,Definition Operator intersection: Intersect each region of the first parameter with the union of all regions of the s

17、econd parameter Usage Generate regions by combining primitive shape Use as a result those points where two methods return pixels,Difference,Definition Operator difference: Subtract from all regions of the first parameter the union of all regions of the second parameter Usage Generate regions by comb

18、ining primitive shape Use as a result those points where one method but not the other one returns pixels,Translation,Definition Operator move_region: translate a region with integer precision Usage Adapt the position of a model region Extract one border side (with difference) Note Results depends on

19、 the system flag clip_region,Transposition,Definition: Reversible: Increasing: Entity-invariant:,Dilation,dilation(R,S),Example: Dilation / Intersection,Input image,Segmented region (threshold),Connected components(undesirable decomposition),Segmented regionafter applying dilation(circle, diameter 5

20、),Connected components(correct decompositon),Intersection between connected components and segmented region,Erosion,erosion(R,S),输入图像,分割结果,连通区域,区域腐蚀,再次连通区域,区域膨胀,Example: Erosion / Dilation,Closing,dilation(R,S),closing(R,S),输入图像,区域相减得到缺陷,分割结果,区域闭运算,Example: Closing,Opening,erosion(R,S),opening(R,S),

21、输入图像,选取目标,分割结果,区域开运算,Example: Opening,特征提取,特征描述了区域的特有属性 区域特征(形状特征)描述了区域的几何特征,这些特征不依赖于灰度值 用途: 分割后,通过特征提取选择出所需的目标物体 区域分类, 比如 OCR 测量 质量检测,提取特征 常用相关算子 area_center, smallest_rectangle1, smallest_rectangle2, compactness, eccentricity, elliptic_axis, area_center_gray, intensity, min_max_gray,HALCON实际应用: Bl

22、ob分析,区域特征,smallest_circle: Convexity(凸状性): 区域面积和凸形外轮廓的比例 Contlength(长度): 区域边界长度 Compactness(紧密度):,区域特征: rectangularity,除了圆形和椭圆形外,长方形是一种典型的形状 典型的形状特征比如比如 roundness, circularity, 或者 compactness 不适用于选择长方形,HALCON 提供了选择长方形的特征,Feature Inspection可视化工具,检测单个区域特征,检测所有区域特征,边缘提取,像素级边缘提取 亚像素级边缘提取 轮廓处理,像素级边缘提取,HA

23、LCON提供所有标准的边缘滤波算子:Sobel, Roberts, Robinson, 或者 Frei filters等. 此外,还提供了预处理算子hysteresis thresholding或者 non-maximum suppression 一些高级算子确定了边缘的幅度和边缘方向,像素级边缘提取,航拍图片,提取道路(a) 提取出来的边缘 (b) 分割边缘.,像素级边缘提取(颜色边缘提取),a)运动场 b)基于多通道图像的彩色边缘提取 c)基于灰度图象边缘提取,实现流程,获取图像 使用感兴趣区域 图像滤波 Standard: sobel_amp, sobel_dir, edges_imag

24、e Advanced: derivate_gauss, edges_color 提取边缘 Standard: threshold, skeleton, inspect_shape_model Advanced: hysteresis_threshold, nonmax_suppression_dir 边缘处理 Standard: background_seg, close_edges, close_edges_length, opening_circle, split_skeleton_lines, hough_lines_dir, hough_lines, gen_contours_skel

25、eton_xld 显示结果,亚像素级边缘提取,什么是亚像素( Sub-Pixel )? 摄像机的成像面的分辨率以像素数量来衡量。但像素中心之间的距离有几个至十几个微米不等。为了最大限度利用图像信息来提高分辨率,提出了Sub-Pixel概念。意思是说,在两个物理像素之间还有像素,称之为Sub-Pixel,它完全是通过计算方法的出来的。,HALCON亚像素精度达到1/50像素,亚像素级边缘提取,a)自动确定ROI b)边缘提取 c) 测量直径,亚像素级边缘提取,a)心脏的x-ray图像 b)提取血管,获取图像 使用ROI区域 提取边缘和线 edges_sub_pix,edges_color_sub

26、_pix,lines_gauss,lines_color 确定轮廓属性 get_contour_attrib_xld,get_contour_global_attrib_xld,query_contour_attribs_xld,query_contour_global_attribs_xld 处理 XLD Contours 显示结果,实现流程,轮廓处理,a) 边缘轮廓 b)放大观察 c)分割成直线和椭圆圆弧,亚像素级精度轮廓是Halcon的众多功能强大工具包之一,这些轮廓属于数据结构体XLD,轮廓处理,a)原始边缘 b)处理后轮廓,实现流程(1),生成XLD edges_sub_pix, edges_color_sub_pix,lines_gauss, lines_facet等边缘提取后,可以得到XLD; 在sobel_amp,edges_image或bandpass_image之后,使用二值函数得到的是Region,需要生成XLD。相应算子gen_contour_polygon_xld,gen_contour_polygon_rounded_xld 处理XLD segment_contour

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论