配色: 字号:
Halcon在机器视觉中的典型应用
2018-03-20 | 阅:  转:  |  分享 
  
输入图像选取目标分割结果区域开运算Example:Opening特征提取特征描述了区域的特有属性区域特征(形状特征)描述了区
域的几何特征,这些特征不依赖于灰度值用途:分割后,通过特征提取选择出所需的目标物体区域分类,比如OCR测量质量检
测提取特征常用相关算子area_center,smallest_rectangle1,smallest
_rectangle2,compactness,eccentricity,elliptic_axis,ar
ea_center_gray,intensity,min_max_grayHALCON实际应用:Blob分
析区域特征smallest_circle:Convexity(凸状性):区域面积和凸形外轮廓的比例Contle
ngth(长度):区域边界长度Compactness(紧密度):为长度为面积区域特征:rectangulari
ty除了圆形和椭圆形外,长方形是一种典型的形状典型的形状特征比如比如roundness,circularity,或者c
ompactness不适用于选择长方形输入区域等价长方形differenceHALCON提供了选择长方形的特征Fe
atureInspection可视化工具检测单个区域特征检测所有区域特征边缘提取像素级边缘提取亚像素级边
缘提取轮廓处理像素级边缘提取HALCON提供所有标准的边缘滤波算子:Sobel,Roberts,Robinson,或
者Freifilters等.此外,还提供了预处理算子hysteresisthresholding或者non-maximu
msuppression一些高级算子确定了边缘的幅度和边缘方向像素级边缘提取航拍图片,提取道路(a)提取出来的边缘
(b)分割边缘.像素级边缘提取(颜色边缘提取)a)运动场b)基于多通道图像的彩色边缘提取c)基于灰度图象边
缘提取实现流程获取图像使用感兴趣区域图像滤波Standard:sobel_amp,sobel_dir,edges_
imageAdvanced:derivate_gauss,edges_color提取边缘Standard:thresh
old,skeleton,inspect_shape_modelAdvanced:hysteresis_threshold
,nonmax_suppression_dir边缘处理Standard:background_seg,close_edg
es,close_edges_length,opening_circle,split_skeleton_lines,hou
gh_lines_dir,hough_lines,gen_contours_skeleton_xld显示结果
亚像素级边缘提取什么是亚像素(Sub-Pixel)?摄像机的成像面的分辨率以像素数量来衡
量。但像素中心之间的距离有几个至十几个微米不等。为了最大限度利用图像信息来提高分辨率,提出了Sub-Pixel概念。意思是说,在两
个物理像素之间还有像素,称之为Sub-Pixel,它完全是通过计算方法的出来的。HALCON亚像素精度达到1/50像素亚像素级
边缘提取a)自动确定ROIb)边缘提取c)测量直径亚像素级边缘提
取a)心脏的x-ray图像b)提取血管获取图像使用ROI区域提取边缘和线
edges_sub_pix,edges_color_sub_pix,lines_gauss,lines_color确定轮廓属性
get_contour_attrib_xld,get_contour_global_attrib_xld,query_co
ntour_attribs_xld,query_contour_global_attribs_xld处理XLDContour
s显示结果实现流程轮廓处理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之后,使用二值函数得到的是R
egion,需要生成XLD。相应算子gen_contour_polygon_xld,gen_contour_polygon_rou
nded_xld处理XLDsegment_contours_xld,split_contours_xld分割成直线、
圆弧等select_shape_xld选取满足条件的直线、圆弧union_collinear_contours
_xld,union_straight_contours_xld,union2_closed_contours_xld等合并线段
拟合fit_line_contour_xld配合gen_contour_polygon_xldf
it_rectangle2_contour_xld配合gen_rectangle2_contour_xldfit_
circle_contour_xld配合gen_circle_contour_xldfit_ellipse_con
tour_xld配合gen_ellipse_contour_xld实现流程(2)提取特征area_center
_xld,compactness_xld,convexity_xld,eccentricity_xld,diameter_
xld,和orientation_xld访问XLD访问XLD原始数据或者把XLD转换成其它数据类型,比如区域
get_contour_xld获得轮廓点的坐标gen_region_contour_xld转换成区域显示结果区域
分割和边缘分割比较测量一维测量生成测量工具:gen_measure_rectangle2,gen_measure_arc
,translate_measure测量:标准:measure_pos,measure_pairs2.高级:se
t_fuzzy_measure,fuzzy_measure_pos,fuzzy_measure_pairs,fuzzy_me
asure_pairing测量二维测量二维测量零件尺寸检测其它应用高速检测精确机
器人导航PCB板检测表面检测条码/二维码识别OCV&OCR安全监控遥感医疗图像分析模式识别2D/3D测量
印刷检测纹理分析匹配定位基于形状的匹配(shape-based)可以适应缩放、旋转、交叠和不同极性的匹配基于组件
的模板匹配(component-based)处理器:奔腾处理器1.73G图像分辨率:640482基于相关的模板匹配(co
nrelation-based)能克服纹理背景和聚焦不清带来的影响基于描述符的模板匹配(descriptor-bas
ed)通过特征点进行描述匹配基于变形模板的模板匹配(deformable)车门检测,即使车门在三维空间内变动,仍然能
匹配基于点的模板匹配(point-based)多用于镶嵌图像时,大场景拼接HALCON实际应用:Blob分析Blob分析
的基本思想:图像中相关联物体(前景)的像素可以通过其灰度值来标识HALCON实际应用:Blob分析Blob分析主要流
程:获取图像、分割图像、提取特征获取图像分割图像提取特征初始分割、形态学处理等HALCON实际应用:Blob
分析一个简单的例子(非常理想的情况)read_image(Image,’particle’)threshold(
Image,BrightPixels,120,255)connection(BrightPixels,Particle
s)area_center(Particles,Area,Row,Column)HALCON实际应用:Blo
b分析threshold定义threshold算子HALCON中速度最快使用频率最高的分割算法如果目标体与背景之间存在灰度
差,则threshold首先被使用如果环境稳定,阈值可在离线状态下一次确定HALCON实际应用:Blob分析
HALCON实际应用:Blob分析动态阈值分割很多情况下由于背景不均一,无法确定全局阈值 目标体经常表现为比背景局
部亮一些或暗一些需要通过其邻域找到一个合适的阈值进行分割如何确定其邻域? 可以通过一些平滑滤波算子来确定邻域,例如mea
n_image等HALCON实际应用:Blob分析动态阈值分割,其中S为平滑后的输入图像grayprofiles
moothedgrayprofileHALCON实际应用:Blob分析全局阈值动态局部阈值通过均值滤波确定邻域
滤波器mask尺寸大于字符笔画的宽度选择所有比其邻域暗的像素mean_image(Image,ImageMean,21
,21)dyn_threshold(Image,ImageMean,Region,15
,''dark'')HALCON实际应用:Blob分析形态学处理分割之后,往往需要对区域做进一步处理才能满足要求常用
形态学相关算子 connection,select_shape,opening_circle,closin
g_circle, opening_rectangle1,closing_rectangle1,differenc
e, intersection,union1,shaps_trans,fill_up高级算子 boundary
,skeleton等HALCON实际应用:Blob分析连通区域阈值分割后,需要提取目标物体,为了提取目标物体不得不先找到
连通区域提取连通域的关键是领域搜索的类型在Halcon所有的案例中8领域法是默认的4-Neighborhood8-Nei
ghborhood把白色部分分割出来计算连通域显示结果LocalthresholdGlobalthreshold
HALCON实际应用:Blob分析形态学算子HALCON的特点之一任意的结构元素任意尺寸的结构元素非常有效的处理巨
大的算子集合:44个算子经典算子Erosion,dilation,opening,closing高级算子top-h
at,bottom-hat,hit-or-miss,boundary特殊算子Fitting,pruning,thic
kening,thinning,skeletonInputimage2.Closingwithdiagonalr
ectangleSegmentation1.Closingwithverticalrectangle形态学示例:
Union定义Operatorunion1:Unionofallregionsinonevariableun
ion2:Unifyallregionsinthesecondparameterwitheachregion
inthefirstparameterUsageGenerateregionsbycombiningprimit
iveshapesCombinesegmentationresultsIntersectionDefinitionO
peratorintersection:Intersecteachregionofthefirstparamete
rwiththeunionofallregionsofthesecondparameterUsageGen
erateregionsbycombiningprimitiveshapeUseasaresultthose
pointswheretwomethodsreturnpixelsDifferenceDefinitionOper
atordifference:Subtractfromallregionsofthefirstparameter
theunionofallregionsofthesecondparameterUsageGenerate
regionsbycombiningprimitiveshapeUseasaresultthosepoints
whereonemethodbutnottheotheronereturnspixelsTranslatio
nDefinitionOperatormove_region:translatearegionwithintege
rprecisionUsageAdaptthepositionofamodelregionExtracton
eborderside(withdifference)NoteResultsdependsonthesyste
mflag''clip_region''TranspositionDefinition:Reversible:Incre
asing:Entity-invariant:Dilationdilation(R,S)Example:Dilation
/IntersectionInputimageSegmentedregion(threshold)Connec
tedcomponents(undesirabledecomposition)Segmentedregionafte
rapplyingdilation(circle,diameter5)Connectedcomponents(c
orrectdecompositon)Intersectionbetweenconnectedcomponentsa
ndsegmentedregionErosionerosion(R,S)输入图像分割结果连通区域区域腐蚀再次连通
区域区域膨胀Example:Erosion/DilationClosingdilation(R,S)closing
(R,S)输入图像区域相减得到缺陷分割结果区域闭运算Example:ClosingOpeningerosion(R
,S)opening(R,S)Replacethisboxwithyourlogo?2003-2009MVTe
cSoftwareGmbH中国大恒(集团)有限公司北京图像视觉技术分公司HALCON软件在机器视觉中的典型应用主讲人:李
旭HALCON的实际应用图像获取(前提)模板匹配(定位,比较)Blob分析(基础一)边缘提取(基础二)测量(结果)
其它应用HALCON实际应用:图像获取获取高质量图像的前提条件合适的光源合适的镜头合适的采集设备合适的采集参数设置
…………HALCON实际应用:图像获取应用程序HALCON库采集设备管理图像处理数据管理图像获取接口加载动态库
采集设备生产商采集设备硬件SDK采集设备驱动HALCON实际应用:图像获取图像获取接口特点图像获取链接库独立于其它图
像处理链接库一致的代码模板(磁盘文件和图像采集设备)支持多个采集设备同步和异步采集支持外触发图像尺寸、图像位数、颜色空间
可调支持颜色查找表支持与设备相关的参数调整HALCON实际应用:图像获取图像获取主要接口函数open_framegrab
ber,info_framegrabbergrab_image,grab_image_async,grab_image
_startset/get_framegrabber_paramclose_framegrabber,close_a
ll_framegrabbers如果是单个磁盘文件read_imageHALCON实际应用:图像获取打开采集设备
,如果是序列磁盘文件,设备为''File''获取图像,grab_image(_async)(同步采集或异步采集)
关闭设备open_framegrabber(''DahengCAM'',,1,1,0,0,0,0,''de
fault‘,-1,''gray'',-1,''false'',
''default'',''default'',-1,-1,FGHandle)while(true)grab
_image(Image,FGHandle)Applyimageprocessingendwhilec
lose_framegrabber(FGHandle)HALCON实际应用:图像获取通过图像获取助手,可快捷简单获取图像,并可
生成代码EasysourceselectionConnectionconfigurationInteractivep
arametersettingsAutomaticcodegenerationHALCON实际应用:图像获取HALCO
NHALCON实际应用:图像获取HALCON实际应用:模板匹配模板匹配的优势应用于多数的应用不需要太多参数调整不需
要分割健壮不需要任何的机器视觉知识HALCON实际应用:模板匹配模板匹配分类基于灰度的模板匹配(gray-valu
e-based) -利用模板图像的所有灰度值,不能适应光照变化、缩放变化、多通道图像等 -用于简单图像基于形状的模板匹配(s
hape-based)-使用边缘特征定位物体-对于很多干扰因素不敏感,例如光照变化、聚焦模糊,缩放变化等,适用于多通道图像-
不适用于纹理图像基于组件的模板匹配(component-based)-适用于组成部件有相对运动的物体,使用边缘特
征定位物-对于很多干扰因素不敏感,例如光照变化、混乱无序等,适用于多通道图像-不适用于纹理图像,聚焦不
清的图像和形状变形基于相关的模板匹配(conrelation-based)-适用于纹理图像,聚焦不清的图像和形状变形-不是适
用于光照变化、混乱无序等,也不适用于多通道图像基于描述符的模板匹配(descriptor-based)-对于很多干扰因素不敏感
,例如光照变化、混乱无序,缩放变化等-不适用于纹理图像,聚焦不清的图像和多通道图像基于变形模板的模板匹配(deformable
)-对于很多干扰因素不敏感,例如光照变化、混乱无序,缩放变化等-适用于多通道图像-对于纹理图像比较困难基于点的模板匹配(
point-based)-利用关键点的特征图像金字塔Level1Level2Level3Level4图像金
字塔金字塔中的模板Level4321HALCON实际应用:模板匹配模板匹配参考图像搜索图像HALCON实际应
用:形状模板匹配GenerateROIreadimagefromfileorframegrabberi
nspect_shape_model(Image,ModelImage,ModelRegion,1,Contrast)de
v_display(Image)dev_display(ModelRegion)Contrast太低Contrast理想
Contrast太高模板生成:金字塔层inspect_shape_model(Image,ModelImages,Mode
lRegions,5,40)dev_display(Image)dev_display(ModelRegions)匹配助手
从路径获得图像生成芯片的感兴趣区域检测模型检测感兴趣区域HALCON实际应用:形状模板匹配(定位)HALCON实际应用:
形状模板匹配模板匹配支持旋转建模时的角度范围AngleStartAngleExtent角度用弧度表示,可通过函数ra
d()转换为了表示旋转角度±x,赋值如下AngleStart=-xAngleExtent=2xHALCON实际应用:形状模板匹配对于对称物体,建模时需限制角度的旋转范围180°180°90°90°0°120°HALCON实际应用:形状模板匹配模板匹配支持缩放一般缩放范围取值ScaleMin=0.3;ScaleMax=2模板匹配的对象模板匹配中的极性问题通常物体的极性是不会改变的但一些情况下,物体的灰度值会翻转物体或者背景会变化或者明暗区域发生改变DarkinsideBrightoutside模板匹配中的极性问题Polaritymode:use_polarityTemplateAcceptedobjects模板匹配中的极性问题Polaritymode:ignore_global_polarityTemplateAcceptedobjects模板匹配中的极性问题模板匹配:ignore_local_polarity模板匹配目标匹配:允许一定程度上交叠模型和它的外接轮廓框(boundingboxes)外接轮廓框可以任意方向模型的边缘模型的外接轮廓框匹配:允许一定程度上交叠Overlap定义为两个外接轮廓框的相交比率物体的交叠区域外接轮廓框的交叠区域基于灰度的匹配(gray-value-based)车牌字符识别Replacethisboxwithyourlogo?2003-2009MVTecSoftwareGmbH
献花(0)
+1
(本文系工厂应用首藏)