基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路

合集下载

Halcon中模板匹配方法的总结归纳

Halcon中模板匹配方法的总结归纳

Halcon中模板匹配方法的总结归纳基于组件的模板匹配:应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合。

算法步骤:1.获取组件模型里的初始控件gen_initial_components()参数:ModelImage [Input] 初始组件的图片InitialComponents [Output] 初始组件的轮廓区域ContrastLow [Input] 对比度下限ContrastHigh [Input] 对比度上限MinSize [Input] 初始组件的最小尺寸Mode[Input] 自动分段的类型GenericName [Input] 可选控制参数的名称GenericValue [Input] 可选控制参数的值2.根据图像模型,初始组件,训练图片来训练组件和组件相互关系train_model_components()3.创建组件模型create_trained_component_model()4.寻找组件模型find_component_model()5.释放组件模型clear_component_model()基于形状的模板匹配:应用场合:定位对象内部的灰度值可以有变化,但对象轮廓一定要清晰平滑。

1.创建形状模型:create_shape_model()2.寻找形状模型:find_shpae_model()3.释放形状模型:clear_shape_model()基于灰度的模板匹配:应用场合:定位对象内部的灰度值没有大的变化,没有缺失部分,没有干扰图像和噪声的场合。

1.创建模板:create_template()2.寻找模板:best_match()3.释放模板:clear_template()基于互相关匹配:应用场合:搜索对象有轻微的变形,大量的纹理,图像模糊等场合,速度快,精度低。

1.创建模板:create_ncc_model()2.寻找模板:find_ncc_model()3.释放模板:clear_ncc_model()基于变形匹配:应用场合:搜索对象有轻微的变形。

halcon模板匹配讲解

halcon模板匹配讲解

在HALCON中,模板匹配是一种常见的方法,用于在一幅图像中查找与给定模板最匹配的区域。

这种方法可以用于目标检测、图像分割、模式识别等应用。

在HALCON中,模板匹配主要通过使用`find_template`函数来实现。

该函数用于在一幅图像中查找与给定模板最匹配的区域,并返回匹配区域的坐标、大小和旋转角度等参数。

在使用`find_template`函数进行模板匹配时,需要提供以下参数:
1. 输入图像:要进行匹配的图像。

2. 模板图像:用于匹配的模板图像。

3. 搜索区域:在输入图像中搜索模板的区域,通常可以指定一个矩形区域或者整个图像。

4. 匹配参数:用于控制匹配算法的参数,例如相似性度量、搜索策略等。

在HALCON中,还可以使用`create_template`函数来创建模板图像,以便后续使用。

该函数可以根据给定的图像和参数来生成模板,并返回模板的句柄。

此外,为了提高匹配的准确性和效率,还可以使用一些优化技术,
例如使用多级金字塔、使用滤波器进行预处理、使用约束条件等。

总之,HALCON中的模板匹配是一种强大的工具,可以用于各种图像处理任务。

通过正确地选择和使用匹配算法和参数,可以获得准确和高效的匹配结果。

halcon基于边缘的模板匹配算法

halcon基于边缘的模板匹配算法

文章主题:Halcon基于边缘的模板匹配算法探析一、引言在机器视觉领域,模板匹配是一种常用的图像处理方法,用于在一幅图像中寻找特定的模式或对象。

而Halcon作为一款智能视觉软件库,其基于边缘的模板匹配算法备受关注。

本文将就Halcon基于边缘的模板匹配算法进行深入探讨,以帮助读者更全面地理解这一主题。

二、Halcon基于边缘的模板匹配算法概述Halcon基于边缘的模板匹配算法是一种高级的模式识别技术,它通过检测图像中的边缘信息,并利用这些边缘特征进行模式匹配。

该算法主要包括边缘提取、模板生成和匹配验证三个步骤。

1. 边缘提取在Halcon中,边缘提取是通过边缘检测滤波器进行的。

常用的边缘检测算子包括Sobel、Prewitt和Canny等。

通过这些算子可以将图像中的边缘特征提取出来,形成边缘模型。

2. 模板生成在模板生成阶段,Halcon会通过提取的边缘信息来生成待匹配的模板。

模板的生成需要考虑到图像的尺度、旋转、光照等因素,以保证模板的鲁棒性和准确性。

3. 匹配验证匹配验证是模板匹配算法的核心步骤,Halcon基于边缘的模板匹配算法通过对图像进行模板匹配,并对匹配结果进行验证和优化,以确保匹配的准确性和稳定性。

三、Halcon基于边缘的模板匹配算法的特点相比于传统的模板匹配算法,Halcon基于边缘的模板匹配算法具有以下几点突出特点:1. 鲁棒性强由于边缘特征包含了物体的轮廓和形状等重要信息,因此Halcon基于边缘的模板匹配算法对光照、变形等因素的鲁棒性较强,能够更准确地匹配目标对象。

2. 适用性广Halcon基于边缘的模板匹配算法不受物体颜色、纹理等因素的影响,因此适用于各种场景和对象的匹配识别,具有较强的通用性和适用性。

3. 计算速度快由于边缘特征的提取和匹配计算相对简单,Halcon基于边缘的模板匹配算法在计算速度上具有一定的优势,能够实现实时性要求较高的应用场景。

四、个人观点与总结在我看来,Halcon基于边缘的模板匹配算法在实际应用中具有广泛的前景。

基於HALCON的模板匹配方法总结

基於HALCON的模板匹配方法总结

基於HALCON的模板匹配方法總結基於HALCON的模板匹配方法總結很早就想總結一下前段時間學習HALCON的心得,但由於其他的事情總是抽不出時間。

去年有過一段時間的集中學習,做了許多的練習和實驗,並對基於HDevelop的形狀匹配算法的參數優化進行了研究,寫了一篇《基於HDevelop的形狀匹配算法參數的優化研究》文章,總結了在形狀匹配過程中哪些參數影響到模板的搜索和匹配,又如何來協調這些參數來加快匹配過程,提高匹配的精度,這篇paper放到了中國論文在線了,需要可以去下載。

德國MVTec公司開發的HALCON機器視覺開發軟件,提供了許多的功能,在這裡我主要學習和研究了其中的形狀匹配的算法和流程。

HDevelop開發環境中提供的匹配的方法主要有三種,即Component-Based、Gray-Value-Based、Shape-Based,分別是基於組件(或成分、元素)的匹配,基於灰度值的匹配和基於形狀的匹配。

這三種匹配的方法各具特點,分別適用於不同的圖像特征,但都有創建模板和尋找模板的相同過程。

這三種方法裡面,我主要就第三種-基於形狀的匹配,做了許多的實驗,因此也做了基於形狀匹配的物體識別,基於形狀匹配的視頻對象分割和基於形狀匹配的視頻對象跟蹤這些研究,從中取得較好的效果,簡化了用其他工具,比如VC++來開發的過程。

在VC下往往針對不同的圖像格式,就會弄的很頭疼,更不用說編寫圖像特征提取、模板建立和搜尋模板的代碼呢,我想其中間過程會很復雜,效果也不一定會顯著。

下面我就具體地談談基於HALCON的形狀匹配算法的研究和心得總結。

1. Shape-Based matching的基本流程HALCON提供的基於形狀匹配的算法主要是針對感興趣的小區域來建立模板,對整個圖像建立模板也可以,但這樣除非是對象在整個圖像中所佔比例很大,比如像視頻會議中人體上半身這樣的圖像,我在後面的視頻對象跟蹤實驗中就是針對整個圖像的,這往往也是要犧牲匹配速度的,這個後面再講。

halcon模板匹配原理

halcon模板匹配原理

halcon模板匹配原理
Halcon模板匹配是一种基于图像处理的技术,用于从一个图像中寻找一个已知的图形或者对象。

这种技术可以被广泛应用于自动化工业中,例如机器人视觉和质量控制等领域。

Halcon模板匹配的原理是建立一个模板图像,然后将其与待匹配图像进行比较。

在比较过程中,Halcon会遍历待匹配图像的每一个像素,并将其与模板图像中对应像素进行比较,从而计算出一个相似度分数。

这个分数可以用来评估待匹配图像中是否存在与模板图像相似的目标。

为了提高匹配的准确性,Halcon模板匹配采用了一些特殊的技术。

其中,最常用的技术是归一化互相关法(Normalized Cross Correlation,简称NCC)。

这种方法可以通过对待匹配图像和模板图像进行归一化处理,使得它们之间的差异更容易被发现。

此外,还有一些其他的技术,例如金字塔匹配和模板旋转等。

总的来说,Halcon模板匹配是一种强大的技术,可以在工业领域中发挥重要的作用。

通过了解其原理和应用,我们可以更好地理解其在自动化生产中的价值和潜力。

- 1 -。

Halcon模板匹配学习篇

Halcon模板匹配学习篇

Halcon模板匹配学习篇Halcon模板匹配学习篇Halcon中模板匹配的总结基于灰度值的模板匹配基于相关性的模板匹配基于形状的模板匹配基于组件的模板匹配基于变形的模板匹配基于描述符的模板匹配基于相关性的模板匹配该⽅法使⽅⽅种基于⽅向量的归⽅化相关匹配法,在检测图像种匹配模板匹配。

与基于灰度值的匹配相⽅,该⽅法速度⽅较快,并且能够适应线光照变化。

匹配如下步骤:-(1)从参考图像上选择检测的⽅标。

-(2)创建模板。

创建⽅个归⽅化的相互关模型,create_ncc_model算⽅。

该操作符返回⽅个句柄参数Template:输⽅包括ROI的图像NumLevels:⽅字塔层数AngleStart and AngleExtent:模板可能出现在检测图像是哪个的旋转⽅度范围AngleStep:⽅度旋转变化的步长-(3)匹配结束之后,使⽅clear_ncc_model算⽅释放模板read_image (Image1,'E:/YZW/image/1.bmp')get_image_size (Image1, Width, Height)dev_close_window ()dev_open_window (0,0, Width/4, Height/4,'black', WindowHandle)dev_display (Image1)*选择ROI区域gen_rectangle1 (ROI_0,1322.32,449.966,1438.32,3877.97)area_center (ROI_0, Area, Row1, Column1)reduce_domain (Image1, ROI_0, ImageReduced)*创建基于相关性的匹配模板,输⽅模板图像和模型参数create_ncc_model (ImageReduced,'auto',-0.39,0.79,'auto','use_polarity', ModelID)*设置显⽅图像dev_set_draw ('margin')dev_set_line_width (3)dev_display (Image1)dev_display (ROI_0)stop ()*读取图像read_image (Image3,'E:/YZW/image/3.bmp')find_ncc_model (Image3, ModelID,-0.39,0.79,0.8,1,0.5,'true',0, Row, Column,Angle, Score)*dev_display_shape_matching_results (ModelID,'red', Row, Column, Angle,1,1,0)vector_angle_to_rigid (Row1, Column1,0, Row, Column,0, HomMat2D)affine_trans_region (ROI_0, RegionAffineTrans, HomMat2D,'nearest_neighbor')dev_display (Image3)dev_display (RegionAffineTrans)。

halcon——缺陷检测常用方法总结(模板匹配(定位)+差分)

halcon——缺陷检测常用方法总结(模板匹配(定位)+差分)

halcon——缺陷检测常⽤⽅法总结(模板匹配(定位)+差分)引⾔机器视觉中缺陷检测分为⼀下⼏种:blob分析+特征模板匹配(定位)+差分光度⽴体:特征训练测量拟合频域+空间域结合:深度学习本篇主要总结⼀下缺陷检测中的定位+差分的⽅法。

即⽤形状匹配,局部变形匹配去定位然后⽤差异模型去检测缺陷。

模板匹配(定位)+差分整体思路(形状匹配):1. 先定位模板区域后,求得模板区域的坐标,创建物品的形状模板create_shape_model,注意把模板的旋转⾓度改为rad(0)和rad(360)。

2. 匹配模板find_shape_model时,由于物品的缺陷使形状有局部的改变,所以要把MinScore设置⼩⼀点,否则匹配不到模板。

并求得匹配项的坐标。

3. 关键的⼀步,将模板区域仿射变换到匹配成功的区域。

由于差集运算是在相同的区域内作⽤的,所以必须把模板区域转换到匹配项的区域。

4. 之后求差集,根据差集部分的⾯积判断该物品是否有缺陷。

模板匹配(定位)+差分的⽅法主要⽤来检测物品损坏,凸起,破洞,缺失,以及质量检测等。

halcon例程分析:1,印刷质量缺陷检测(print_check.hdev)该例程⽤到了差异模型,将⼀个或多个图像同⼀个理想图像做对⽐,去找到明显的不同。

进⽽鉴定出有缺陷的物体。

差异模型的优势是可以直接通过它们的灰度值做⽐较,并且通过差异图像,⽐较可以被空间地加权。

变化模型检测缺陷的整体思路:1. create_variation_model —— 创建⼀个差异模型2. get_variation_model —— 获得差异模型3. train_variation_model —— 训练差异模型4. prepare_variation_model —— 准备差异模型5. compare_variation_model —— ⽐较模型与实例6. clear_variation_model —— 清除差异模型dev_update_off ()* 选择第1张图像创建形状模板read_image (Image, 'pen/pen-01')get_image_size (Image, Width, Height)dev_close_window ()dev_open_window (0, 0, Width, Height, 'black', WindowHandle)set_display_font (WindowHandle, 16, 'mono', 'true', 'false')dev_set_color ('red')dev_display (Image)* 把我感兴趣的区域抠出来,原则上范围越⼩越好,因为这样创建模板时⼲扰会少很多threshold (Image, Region, 100, 255)fill_up (Region, RegionFillUp)difference (RegionFillUp, Region, RegionDifference)shape_trans (RegionDifference, RegionTrans, 'convex')dilation_circle (RegionTrans, RegionDilation, 8.5)reduce_domain (Image, RegionDilation, ImageReduced)inspect_shape_model (ImageReduced, ModelImages, ModelRegions, 1, 20)gen_contours_skeleton_xld (ModelRegions, Model, 1, 'filter')* 获得抠图区域的中⼼,这是参考点area_center (RegionDilation, Area, RowRef, ColumnRef)* 创建形状模板create_shape_model (ImageReduced, 5, rad(-10), rad(20), 'auto', 'none', 'use_polarity', 20, 10, ShapeModelID)* 创建变化模型(⽤于和缺陷⽐较)create_variation_model (Width, Height, 'byte', 'standard', VariationModelID)* ⽂件夹中前15张图⽚是质量良好的,可以⽤来训练模板for I := 1 to 15 by 1read_image (Image, 'pen/pen-' + I$'02d')* 先寻找模板的实例find_shape_model (Image, ShapeModelID, rad(-10), rad(20), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)if (|Score| == 1)if (|Score| == 1)* 使⽤仿射变换,将当前图像平移旋转到与模板图像重合,注意是当前图像转向模板图像vector_angle_to_rigid (Row, Column, Angle, RowRef, ColumnRef, 0, HomMat2D)affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', 'false')* 训练差异模型train_variation_model (ImageTrans, VariationModelID)dev_display (ImageTrans)dev_display (Model)endifendfor* 获得差异模型get_variation_model (MeanImage, VarImage, VariationModelID)* 做检测之前可以先⽤下⾯这个算⼦对可变模型进⾏设参,这是⼀个经验值,需要调试者调整prepare_variation_model (VariationModelID, 20, 3)dev_set_draw ('margin')NumImages := 30* 可变模板训练完成后,我们终于可以进⼊主题,马上对所有图像进⾏缺陷检测,思想就是差分for I := 1 to 30 by 1read_image (Image, 'pen/pen-' + I$'02d')* 要注意做差分的两幅图像分辨率相同,当然也需要通过仿射变换把待检测的图像转到与模板图像重合* 先寻找模板的实例find_shape_model (Image, ShapeModelID, rad(-10), rad(20), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score) if (|Score| == 1)* 使⽤仿射变换,将当前图像平移旋转到与模板图像重合,注意是当前图像转向模板图像vector_angle_to_rigid (Row, Column, Angle, RowRef, ColumnRef, 0, HomMat2D)affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', 'false')* 抠图reduce_domain (ImageTrans, RegionDilation, ImageReduced)* 差分(就是检查两幅图像相减,剩下的区域就是不同的地⽅了,与模板图像不同的地⽅就是缺陷)*这⾥可不能⽤difference做差分啊,halcon为变形模板提供了专门的差分算⼦:compare_variation_modelcompare_variation_model (ImageReduced, RegionDiff, VariationModelID)connection (RegionDiff, ConnectedRegions)* 特征选择:⽤⼀些特征来判断这幅图像印刷是否有缺陷,这⾥使⽤⾯积* 其实可以考虑利⽤区域⾯积的⼤⼩来判断缺陷的严重程度,这⾥就不过多讨论了select_shape (ConnectedRegions, RegionsError, 'area', 'and', 20, 1000000)count_obj (RegionsError, NumError)dev_clear_window ()dev_display (ImageTrans)dev_set_color ('red')dev_display (RegionsError)set_tposition (WindowHandle, 20, 20)if (NumError == 0)dev_set_color ('green')write_string (WindowHandle, 'Clip OK')elsedev_set_color ('red')write_string (WindowHandle, 'Clip not OK')endifendifif (I < NumImages)disp_continue_message (WindowHandle, 'black', 'true')stop ()endifendfor* 结语:如果发现前⾯作为训练变形模板的良好图像也被判定为NG,* 可以调整prepare_variation_model参数* 或者调整select_shape特征筛选的标准相关算⼦分析:create_variation_model(创建⼀个差异模型)create_variation_model(Width, Height, Type, Mode ,ModelID)//创建⼀个ID为ModelID,宽为Width,⾼为Height,类型为Type的差异模型参数参数Mode决定了创建标准图像和相应的变化图像的⽅法。

halcon多模板匹配方法

halcon多模板匹配方法

halcon多模板匹配方法【原创实用版3篇】目录(篇1)1.引言2.Halcon 模板匹配方法概述3.Halcon 多模板匹配方法4.模板匹配过程中的参数优化5.总结与展望正文(篇1)一、引言在计算机视觉领域,模板匹配是一种常用的图像处理方法,其主要目的是通过比较图像间的相似性,找到匹配的图像区域。

在众多模板匹配软件中,Halcon 是一款由德国 MVTec 公司开发的机器视觉开发软件,它提供了许多实用的功能,特别是在形状匹配方面有着显著的优势。

本文将重点介绍 Halcon 中的多模板匹配方法。

二、Halcon 模板匹配方法概述Halcon 中的模板匹配方法主要包括基于组件(或成分、元素)的匹配(component-based)、基于灰度值的匹配(gray-value-based)和基于形状的匹配(shape-based)三种。

这三种匹配方法各具特点,分别适用于不同的图像特征。

在实际应用中,可以根据需要选择合适的匹配方法。

三、Halcon 多模板匹配方法在实际应用中,往往需要同时处理多个模板,以提高匹配的准确性和速度。

Halcon 提供了多模板匹配的方法,可以同时对多个模板进行处理。

这种方法主要通过以下几个步骤实现:1.读入图片并选取 ROI(感兴趣区域)。

2.对 ROI 进行预处理,如阈值处理、连接处理和选择形状等操作。

3.提取模板区域,创建模板并保存。

4.载入已保存的模板,进行模板匹配。

5.根据匹配结果,对图像进行处理,如标注、分割等。

四、模板匹配过程中的参数优化在模板匹配过程中,有许多参数会影响到匹配的精度和速度,如阈值、连接方式、形状选择等。

为了提高匹配效果,需要对这些参数进行优化。

在 Halcon 中,可以通过实验和观察来选择合适的参数,也可以借助一些优化算法来自动调整参数,以达到最佳的匹配效果。

五、总结与展望Halcon 中的多模板匹配方法具有较强的实用性和灵活性,可以满足不同场景下的图像处理需求。

halcon模板匹配之形状匹配法

halcon模板匹配之形状匹配法

halcon模板匹配之形状匹配法
摘要:
一、Halcon 模板匹配简介
二、形状匹配法在Halcon 模板匹配中的应用
三、Halcon 模板匹配中的形状匹配方法
四、提高形状匹配成功率的参数设置
五、总结
正文:
Halcon 是一种常用的机器视觉开发软件,它提供了丰富的图像处理和分析功能。

在Halcon 中,模板匹配是一种常用的图像匹配方法,可以用于检测图像中的特定目标。

形状匹配法是Halcon 模板匹配的一种重要方法,它通过比较图像中目标的形状来确定匹配成功与否。

形状匹配法在Halcon 模板匹配中的应用十分广泛,它可以用于检测各种形状的目标,如矩形、圆形、椭圆形等。

在形状匹配过程中,Halcon 提供了多种形状匹配方法,如基于轮廓的匹配、基于灰度的匹配、基于组件的匹配和基于互相关的匹配等。

在Halcon 模板匹配中,形状匹配方法的具体实现方式如下:
1.创建模板:首先需要创建一个模板,用于与图像中的目标进行比较。

模板可以是预先定义好的形状,也可以是通过训练得到的形状模型。

2.提取目标特征:对图像中的目标进行特征提取,这一步通常涉及到图像分割、轮廓提取等操作。

3.形状匹配:将提取到的目标特征与模板进行比较,判断它们是否匹配。

如果匹配度满足预设阈值,则认为匹配成功。

在实际应用中,为了提高形状匹配的成功率,可以设置一些参数,如:尺度缩放范围、最小匹配目标个数、最低匹配分数等。

这些参数可以根据具体应用场景进行调整。

总之,形状匹配法在Halcon 模板匹配中具有重要作用,可以有效地检测图像中的特定目标。

halcon模板匹配算法

halcon模板匹配算法

Halcon模板匹配算法1. 算法概述模板匹配是一种常用的计算机视觉算法,它能够在图像中寻找与给定模板最相似的区域并进行定位。

Halcon是一款强大的机器视觉开发工具,提供了丰富的模板匹配功能,可以用于各种应用领域,如工业自动化、品质检测等。

2. 原理介绍Halcon模板匹配算法主要基于灰度图像进行处理。

其基本原理是通过将待匹配图像与模板图像进行相似度计算,找到最相似的区域,并输出其位置信息。

具体步骤如下: - 加载图像和模板:首先需要加载待匹配的图像和用于匹配的模板图像。

- 预处理:对加载的图像和模板进行预处理,如灰度化、滤波等。

这一步旨在提取出关键特征以便进行后续计算。

- 创建模板:根据预处理后的模板图像,使用Halcon提供的函数创建一个模板对象。

- 匹配:使用创建好的模板对象对待匹配的图像进行匹配操作。

Halcon提供了多种匹配函数,如find_shape_model、find_scaled_shape_model等,可以根据实际需求选择合适的函数。

- 结果输出:匹配完成后,可以获取到匹配的结果,如匹配区域的位置、相似度等信息。

根据这些信息可以进行后续的处理和判断。

3. 算法优势Halcon模板匹配算法具有以下几个优势: - 高效性:Halcon采用了高度优化和并行化的算法实现,能够在短时间内完成大量图像的匹配任务。

- 鲁棒性:Halcon提供了多种参数调整选项,能够适应不同场景下的光照变化、尺度变化等因素对匹配结果的影响。

- 易用性:Halcon提供了丰富的图形界面和编程接口,使得用户可以方便地进行算法调试和参数设置。

- 可扩展性:Halcon支持多种图像处理操作和其他机器视觉算法,可以与其他功能模块进行组合使用,满足复杂应用需求。

4. 应用场景Halcon模板匹配算法广泛应用于各种工业自动化和品质检测场景中。

以下是一些常见应用场景: - 产品质检:利用模板匹配算法可以对产品外观进行检测,如检测产品是否存在缺陷、是否符合规定的尺寸等。

基于HALCON的模板匹配方法总结

基于HALCON的模板匹配方法总结

基于HALCON的模板匹配方法总结分类:halcon学习2013-06-26 16:02 47人阅读评论(0) 收藏举报halcon形状匹配算法德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。

HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。

这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。

这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如VC++来开发的过程。

在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。

下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。

1. Shape-Based matching的基本流程HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。

基本流程是这样的,如下所示:⑴首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心;⑵然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等;⑶接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。

Halcon中模板匹配方法的总结归纳

Halcon中模板匹配方法的总结归纳

Halcon中模板匹配⽅法的总结归纳基于组件的模板匹配:应⽤场合:组件匹配是形状匹配的扩展,但不⽀持⼤⼩缩放匹配,⼀般⽤于多个对象(⼯件)定位的场合。

算法步骤:1.获取组件模型⾥的初始控件 gen_initial_components()参数:ModelImage [Input] 初始组件的图⽚InitialComponents [Output] 初始组件的轮廓区域ContrastLow [Input] 对⽐度下限ContrastHigh [Input] 对⽐度上限MinSize [Input] 初始组件的最⼩尺⼨Mode[Input] ⾃动分段的类型GenericName [Input] 可选控制参数的名称GenericValue [Input] 可选控制参数的值2.根据图像模型,初始组件,训练图⽚来训练组件和组件相互关系 train_model_components()3.创建组件模型 create_trained_component_model()4.寻找组件模型 find_component_model()5.释放组件模型 clear_component_model()基于形状的模板匹配:应⽤场合:定位对象内部的灰度值可以有变化,但对象轮廓⼀定要清晰平滑。

1.创建形状模型:create_shape_model()2.寻找形状模型:find_shpae_model()3.释放形状模型:clear_shape_model()基于灰度的模板匹配:应⽤场合:定位对象内部的灰度值没有⼤的变化,没有缺失部分,没有⼲扰图像和噪声的场合。

1.创建模板:create_template()2.寻找模板:best_match()3.释放模板:clear_template()基于互相关匹配:应⽤场合:搜索对象有轻微的变形,⼤量的纹理,图像模糊等场合,速度快,精度低。

1.创建模板:create_ncc_model()2.寻找模板:find_ncc_model()3.释放模板:clear_ncc_model()基于变形匹配:应⽤场合:搜索对象有轻微的变形。

halcon模板匹配原理

halcon模板匹配原理

halcon模板匹配原理
Halcon是一种图像处理软件,它具有强大的功能和灵活的操作性,被广泛应用于人工智能、机器视觉等领域。

模板匹配是Halcon中的一个重要功能,它可以用来在一张图像中寻找与另一张图像相似的区域。

以下是halcon模板匹配原理的分步骤阐述。

1.准备模板图像和待匹配图像
首先,需要准备要进行模板匹配的两张图像:模板图像和待匹配图像。

模板图像是被匹配的模板,待匹配图像是需要在其中寻找模板的图像。

2.把模板图像加载到内存中
利用Halcon中的load_image函数,可以将模板图像加载到内存中。

3.计算模板图像的特征值
Halcon中有多种特征值可供选择,例如灰度平均值、二阶矩或Harris角等。

根据需要选择一种或多种特征值来描述模板图像。

4.把待匹配图像加载到内存中
同样,利用load_image函数,可以将待匹配图像加载到内存中。

5.计算待匹配图像的特征值
同样根据需要选择一种或多种特征值来描述待匹配图像。

6.在待匹配图像中搜索与模板图像相似的区域
利用Halcon中的find_shape_model函数,可以在待匹配图像中搜索与模板图像相似的区域。

该函数可以设置匹配的精度、匹配的区域等参数。

7.显示匹配结果
根据匹配结果,可以在待匹配图像上显示匹配区域,并且可以用Halcon中的disp_image函数将匹配结果可视化。

总之,Halcon模板匹配原理可以通过以上步骤的操作实现。

这在机器视觉、人工智能等领域有着广泛的应用。

Halcon学习—模版匹配之一

Halcon学习—模版匹配之一

Halcon学习—模版匹配之一create_shape_model(Template : : //reduce_domain后的模板图像NumLevels,//金字塔的层数,可设为“auto”或0—10的整数AngleStart,//模板旋转的起始角度AngleExtent,//模板旋转角度范围, >=0AngleStep,//旋转角度的步长, >=0 and <=pi/16Optimization,//设置模板优化和模板创建方法Metric, //匹配方法设置Contrast,//设置对比度MinContrast ://设置最小对比度ModelID) //输出模板句柄1. NumLevels越大,找到匹配使用的时间就越小。

另外必须保证最高层的图像具有足够的信息(至少四个点)。

可以通过inspect_shape_model函数查看设置的结果。

如果最高层金字塔的消息太少,算法内部会自动减少金字塔层数,如果最底层金字塔的信息太少,函数就会报错。

如果设为auto,算法会自动计算金字塔的层数,我们可以通过get_shape_model_params函数查看金字塔的层数。

如果金字塔的层数太大,模板不容易识别出来,这是需要将find_shape_model函数中MinScore和Greediness参数设置的低一些。

如果金字塔层数太少找到模板的时间会增加。

可以先使用inspect_shape_model函数的输出结果来选择一个较好的金字塔层数。

2. 参数AngleStart、AngleExtent定义了模板可能发生旋转的范围。

注意模板在find_shape_model函数中只能找到这个范围内的匹配。

参数AngleStep定义了旋转角度范围内的步长。

如果在find_shape_model函数中没有指定亚像素精度,这个参数指定的精度是可以实现find_shape_mode函数中的角度的。

参数AngleStep 的选择是基于目标的大小的,如果模板图像太小不能产生许多不同离散角度的图像,因此对于较小的模板图像AngleStep应该设置的比较大。

Halcon模板匹配

Halcon模板匹配

Halcon模板匹配使⽤find_scaled_shape_models来做模板匹配,发现⽹上竟然⼀点都找不到关于这个算⼦的⽂章,只有少数的find_scaled_shape_model相关的,但是我想同时做多个模板匹配,不想⼀个个来。

接昨天的那个问题,就是配置可接受的最⼩分数值,这个分数值明明远远低于实际得分,但是就是匹配不上的问题。

后来经过多此测试及重新阅读官⽅⽂档发现,多个模板,如果可接受最低分数都是相同的,那么确实可以只写⼀个值,问题到底在哪⾥呢?今天测试发现阈值调整为0.4之后,有不该被匹配上的部分匹配上了,这是⾮常糟糕的,这部分的得分为4.6左右,⼀般来说,真正能够匹配上的得分通常在0.8以上。

为了解决这个问题,我决定把阈值重新调整为0.5,不出所料,这⼀块确实匹配不上了,另⼏处应该匹配的也匹配不上了,简直是。

问题发现过程:找到了唯⼀⼀个halcon提供的包含该算⼦的例程,发现⾥⾯⽤的分数只有⼀个,没有⽤数组,排除这个原因;Maxoverlap和我设置的不相同,这个参数的涵义是可搜索到的模板实例之间最⼤的重叠,设置为相同值之后,没有效果;使⽤halcon hdevelop中的Matching助⼿,测试相同的图⽚和模板,阈值调整为0.5,能够匹配到,这就很奇怪了,助⼿使⽤的是find_scaled_shape_model,难道是这两个算⼦本⾝其实是不相同的?为了找到问题,插⼊代码,⼀个个参数对⽐。

最终发现是贪⼼算法的那个参数可能不恰当。

这个参数在0-1之间,越⼩搜索的越仔细,耗时越久;越⼤搜索的越不仔细,耗时越短。

之前是配置成了0.9,这是⼀个官⽅推荐值,⽂档上说⼀般来说得分在0.9以上的,配置成0.9的贪⼼算法,基本上都能找出来。

真是个坑,我有个图得分就有0.92,但是就是没有找出来。

⽽且官⽅那个例程上⽤的都是0.8。

后来通过⼀点点调⼩测试,最终确定为0.5,因为对耗时没有那么⾼的要求,暂定先⽤这个值,配上0.5的可接受的最低分数,测试⼀段时间看看效果。

halcon模板匹配算法原理

halcon模板匹配算法原理

halcon模板匹配算法原理
Halcon模板匹配算法是一种用于在图像中寻找特定模式的技术。

其原理基于以下步骤:
1. 模板提取,首先,从给定的模板图像中提取特征,这些特征
可以是边缘、角点、颜色分布等。

这些特征将用于后续的匹配过程。

2. 图像预处理,对待匹配的图像进行预处理,例如去噪、灰度化、边缘检测等,以便提取图像中的特征以进行匹配。

3. 特征匹配,将模板图像中提取的特征与待匹配图像中的特征
进行比对,寻找相似的特征点或特征组合。

4. 匹配评分,根据匹配的特征点或特征组合,计算匹配的得分
或相似度,以确定模板在图像中的位置和旋转角度。

5. 匹配结果,根据匹配得分,确定模板在图像中的位置,并可
以进行后续的处理,例如目标定位、跟踪等。

总的来说,Halcon模板匹配算法通过提取模板和图像的特征,
进行特征匹配和评分,最终确定模板在图像中的位置和相似度,从而实现对特定模式的检测和定位。

基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路

基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路

基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路蓝云杨的机器视觉之路/blog/user1/8/index.html首页相册标签机器视觉(64)图像处理(11)视频压缩(12)小波分析(5)三峡(3)生活随笔(32)HALCON(7)编程感悟(18)哲思慧语(32)基于HALCON的模板匹配方法总结2006-8-16 16:34:004推荐很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。

去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop 的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载。

德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。

HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。

这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。

这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如VC++来开发的过程。

在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。

下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。

halcon中3d模板匹配案例

halcon中3d模板匹配案例

【主题】Halcon中3D模板匹配案例【内容】1. Halcon介绍Halcon是由德国MVTec开发的一款工业视觉软件,广泛用于机器视觉领域中。

它提供了丰富的图像处理和分析工具,特别在模板匹配和3D视觉方面表现突出。

本文将以Halcon中3D模板匹配技术为案例,介绍其在工业应用中的具体应用。

2. 3D模板匹配的原理3D模板匹配是利用已知的三维对象模型和场景中的三维数据进行匹配,以实现对象的定位、识别等目的。

在Halcon中,通过将场景中的三维数据和已知的3D对象模型进行比对,计算出他们之间的相似程度并得出匹配结果。

这一过程需要通过摄像机进行图像采集并进行图像处理分析,以获取三维数据用于匹配。

3. Halcon 3D模板匹配的优势Halcon在3D模板匹配方面具有以下几个优势:- 高度灵活性:Halcon的3D模板匹配算法支持对于不同光照条件、姿态变化、噪声影响下的匹配,具有较高的鲁棒性。

- 高精度:Halcon利用先进的3D数据处理算法,能够实现对3D模型和场景的精准匹配,提高了匹配的准确性。

- 多样化应用:Halcon的3D模板匹配技术可以广泛应用于工业自动化、机器人视觉、智能制造等领域,为这些领域的发展提供了强有力的支持。

4. Halcon中3D模板匹配案例分析以汽车零部件的检测为例,通过Halcon的3D模板匹配技术,可以实现对汽车零部件的定位和识别。

具体过程如下:- 利用工业相机对汽车零部件进行拍摄,获取三维数据。

- 利用Halcon的3D模板匹配功能,对已知的汽车零部件模型进行建模,并存储为模板。

- 将获取的汽车零部件的三维数据与模板进行匹配,得出匹配结果。

- 根据匹配结果,实现对汽车零部件的定位、识别等操作。

5. Halcon中3D模板匹配案例效果展示通过Halcon的3D模板匹配技术,实现了对汽车零部件的自动识别和定位。

对于工业生产线而言,这意味着大大提高了生产效率和产品质量,同时减少了人工操作的繁琐和误差。

halcon 中模板匹配的一般步骤

halcon 中模板匹配的一般步骤

halcon 中模板匹配的一般步骤摘要:本文将介绍在HALCON中执行模板匹配的一般步骤。

模板匹配是一种图像处理技术,用于在图像中查找与预先定义的模板相似的区域。

本文将讨论HALCON软件中模板匹配的过程,包括预处理、特征提取、相似性计算和结果输出。

1. 安装和配置HALCON软件在开始模板匹配之前,确保已经正确安装了HALCON软件并正确配置了环境。

HALCON是一个强大的计算机视觉工具箱,提供了丰富的图像处理和计算机视觉功能,包括模板匹配。

2. 准备图像和模板首先,需要准备输入图像和要匹配的模板。

输入图像通常是一个较大的图像,而模板是一个较小的图像,通常包含感兴趣的特征或对象。

可以使用图像处理工具(如裁剪、缩放和旋转)来准备这些图像,以便在后续步骤中更好地进行匹配。

3. 预处理在进行模板匹配之前,通常需要对图像进行预处理,以减少噪声和不相关的区域。

预处理步骤可能包括滤波(如高斯滤波、中值滤波等)、去噪(如波器、边缘检测等)和平滑等。

这些步骤有助于提高匹配的准确性和效率。

4. 特征提取特征提取是从图像中提取有用信息的过程,以便在后续步骤中与模板进行比较。

在HALCON中,可以使用多种特征提取方法,如边缘检测、角点检测、轮廓提取等。

这些特征可以用于计算图像之间的相似性。

5. 相似性计算相似性计算是模板匹配过程中的关键步骤,用于确定输入图像中与模板最相似的区域。

在HALCON中,可以使用多种相似性度量方法,如欧氏距离、高斯距离、互相关等。

这些度量方法可以帮助找到合适的匹配结果。

6. 结果输出和评估一旦找到相似的图像区域,可以将匹配结果输出并进行评估。

在HALCON 中,可以使用各种评估指标(如匹配率、召回率等)来评估模板匹配的性能。

此外,还可以使用可视化工具(如直方图、伪彩色映射等)来展示匹配结果,以便更好地理解和处理数据。

7. 优化和调整在实际应用中,可能需要根据具体问题和需求对模板匹配过程进行优化和调整。

Halcon学习—模版匹配之二

Halcon学习—模版匹配之二

Halcon学习—模版匹配之二find_shape_model(Image : : //搜索图像ModelID, //模板句柄AngleStart, // 搜索时的起始角度AngleExtent, //搜索时的角度范围,必须与创建模板时的有交集MinScore, //最小匹配值,输出的匹配的得分Score 大于该值NumMatches, //定义要输出的匹配的最大个数MaxOverlap, //当找到的目标存在重叠时,且重叠大于该值时选择一个好的输出SubPixel, //计算精度的设置,五种模式,多选2,3NumLevels, //搜索时金字塔的层数Greediness : //贪婪度,搜索启发式,一般都设为0.9,越高速度快,容易出现找不到的情况Row, Column, Angle, Score) //输出匹配位置的行和列坐标、角度、得分。

注意:1. Row、Column的坐标并不是模板在搜索图像中的精确位置,因此不能直接使用他们。

这些数值是为了创建变换矩阵被优化后的,你可以用这个矩阵的匹配结果完成各种任务,比如调整后续步骤的ROI。

2. Score是一个0到1之间的数,是模板在搜索图像中可见比例的近似测量。

如果模板的一半被遮挡,该值就不能超过0.5。

3. Image的domain定义了模型参考点的搜索区域,模型参考点是在create_shape_model中用来创建模型的图像的domain区域的重心。

不考虑使用函数set_shape_model_origin设置不同的初始位置。

在图像domain区域的这些点内搜索模型,其中模型完全属于这幅图像。

这意味着如果模型超出图像边界,即使获得的质量系数(score)大于MinScore也不能找到模型。

这种性能可以通过set_system('border_shape_models','true')改变,这样那些超出图像边界,质量系数大于MinScore的模型也能找到。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路蓝云杨的机器视觉之路/blog/user1/8/index.html首页相册标签机器视觉(64)图像处理(11)视频压缩(12)小波分析(5)三峡(3)生活随笔(32)HALCON(7)编程感悟(18)哲思慧语(32)基于HALCON的模板匹配方法总结2006-8-16 16:34:004推荐很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。

去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop 的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载。

德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。

HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。

这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。

这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如VC++来开发的过程。

在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。

下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。

1. Shape-Based matching的基本流程HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。

基本流程是这样的,如下所示:⑴首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心;⑵然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等;⑶接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart 和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。

对特别大的模板,用Optimization来减少模板点的数量是很有用的;MinConstrast将模板从图像的噪声中分离出来,如果灰度值的波动范围是10,则MinConstrast应当设为10;Metric参数决定模板识别的条件,如果设为’use_polarity’,则图像中的物体和模板必须有相同的对比度;创建好模板后,这时还需要监视模板,用inspect_shape_model()来完成,它检查参数的适用性,还能帮助找到合适的参数;另外,还需要获得这个模板的轮廓,用于后面的匹配,get_shape_model_contours()则会很容易的帮我们找到模板的轮廓;⑷创建好模板后,就可以打开另一幅图像,来进行模板匹配了。

这个过程也就是在新图像中寻找与模板匹配的图像部分,这部分的工作就由函数find_shape_model()来承担了,它也拥有许多的参数,这些参数都影响着寻找模板的速度和精度。

这个的功能就是在一幅图中找出最佳匹配的模板,返回一个模板实例的长、宽和旋转角度。

其中参数SubPixel决定是否精确到亚像素级,设为’interpolation’,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’least_square’,’lease_square_high’,但这样会增加额外的时间,因此,这需要在时间和精度上作个折中,需要和实际联系起来。

比较重要的两个参数是MinSocre和Greediness,前一个用来分析模板的旋转对称和它们之间的相似度,值越大,则越相似,后一个是搜索贪婪度,这个值在很大程度上影响着搜索速度,若为0,则为启发式搜索,很耗时,若为1,则为不安全搜索,但最快。

在大多数情况下,在能够匹配的情况下,尽可能的增大其值。

⑸找到之后,还需要对其进行转化,使之能够显示,这两个函数vector_angle_to_rigid()和affine_trans_contour_xld()在这里就起这个作用。

前一个是从一个点和角度计算一个刚体仿射变换,这个函数从匹配函数的结果中对构造一个刚体仿射变换很有用,把参考图像变为当前图像。

其详细的流程图和中间参数,如下图所示:(无法上传)2. 基于形状匹配的参数关系与优化在HALCON的说明资料里讲到了这些参数的作用以及关系,在上面提到的文章中也作了介绍,这里主要是重复说明一下这些参数的作用,再强调一下它们影响匹配速度的程度;在为了提高速度而设置参数之前,有必要找出那些在所有测试图像中匹配成功的设置,这时需考虑以下情况:①必须保证物体在图像边缘处截断,也就是保证轮廓的清晰,这些可以通过形态学的一些方法来处理;②如果Greediness值设的太高,就找不到其中一些可见物体,这时最后将其设为0来执行完全搜索;③物体是否有封闭区域,如果要求物体在任何状态下都能被识别,则应减小MinScore值;④判断在金字塔最高级上的匹配是否失败,可以通过find_shape_model()减小NumLevels值来测试;⑤物体是否具有较低的对比度,如果要求物体在任何状态下都能被识别,则应减小MinContrast值;⑥判断是否全局地或者局部地转化对比度极性,如果需要在任何状态下都能被识别,则应给参数Metric设置一个合适的值;⑦物体是否与物体的其他实例重叠,如果需要在任何状态下都能识别物体,则应增加MaxOverlap值;⑧判断是否在相同物体上找到多个匹配值,如果物体几乎是对称的,则需要控制旋转范围;如何加快搜索匹配,需要在这些参数中进行合理的搭配,有以下方法可以参考:①只要匹配成功,则尽可能增加参数MinScore的值;②增加Greediness值直到匹配失败,同时在需要时减小MinScore值;③如果有可能,在创建模板时使用一个大的NumLevels,即将图像多分几个金字塔级;④限定允许的旋转范围和大小范围,在调用find_shape_model ()时调整相应的参数;⑤尽量限定搜索ROI的区域;除上面介绍的以外,在保证能够匹配的情况下,尽可能的增大Greediness的值,因为在后面的实验中,用模板匹配进行视频对象跟踪的过程中,这个值在很大程度上影响到匹配的速度。

当然这些方法都需要跟实际联系起来,不同图像在匹配过程中也会有不同的匹配效果,在具体到某些应用,不同的硬件设施也会对这个匹配算法提出新的要求,所以需要不断地去尝试。

在接下来我会结合自己做的具体的实验来如何利用HALCON来进行实验,主要是在视频对象分割和视频对象的跟踪方面。

待续…………^_^蓝云杨 | 阅读全文(1753) | 回复(6) | 引用通告(0) | 编辑标签:HALCON 模板匹配上一篇:暑假编程总结(下)下一篇:从指甲推断你是否健康Re:基于HALCON的模板匹配方法总结2007-4-16 12:12:00偶然看到您的文章,我现在也在做这方面,刚刚接触,还很陌生,对您的这篇文章《基于hdevelop的形状匹配算法参数的优化研究》很感兴趣,能否发到我邮箱里,谢谢!yongsinglove@yongsing | 个人主页 | 引用 | 返回 | 删除 | 回复Re:基于HALCON的模板匹配方法总结2006-12-26 11:11:00文章写得还行,有一点要说明,halcon中三种匹配方法,component-based和shapematching用的都是一个模板匹配方法,只不过模板匹配策略不一样,前面得适用于多个目标具有一定得空间位置关系,halcon博大精深,很多东西需要实战才能真正体会得到,希望呢再接再厉,顺便说一下,有什么halcon得问题可以发信到我得邮箱sjleeds2002◎,大恒得那些所谓halcon技术支持人员都不是学图像处理出身得,他们自己都用得不是很熟。

mvtec(游客) | 个人主页 | 引用 | 返回 | 删除 | 回复Re:基于HALCON的模板匹配方法总结2006-10-23 22:34:00我们公司正准备往机器视频方向发展,所以很希望能和各位交流.我的MSN:jinghaixiao@QQ:26914633希望能结识大家肖(游客) | 个人主页 | 引用 | 返回 | 删除 | 回复Re:基于HALCON的模板匹配方法总结2006-8-22 11:29:00对您的这篇文章《基于HDevelop的形状匹配算法参数的优化研究》很感兴趣,能否发到我邮箱里,谢谢!jy4688@涟漪(游客) | 个人主页 | 引用 | 返回 | 删除 | 回复Re:基于HALCON的模板匹配方法总结2006-8-22 11:28:00您好,无意中看到您的blog,发现我们的研究内容很相近,希望有机会得到您的指教,我在北航做机器视觉。

还有楼上那位武大的研究生,希望能共同探讨问题,已经加你msn啦,我的qq:545570175。

涟漪(游客) | 个人主页 | 引用 | 返回 | 删除 | 回复Re:基于HALCON的模板匹配方法总结2006-8-16 17:16:00你好,我是武汉大学计算机系的博士研究生,目前也在做图像与视频的研究,当前关注的是2D图像的分割,以及matting,composition , 希望做到一定阶段能够将图像的方法应用到视频上我们实验室与浙大CAD&CG 国家重点实验室有一定联系,希望能够与你交流对了,忘了说一句,我也是宜昌人,呵呵我的MSN:smilewye@清玄(游客) | 个人主页 | 引用 | 返回 | 删除 | 回复发表评论:昵称:密码:主页:标题:公告欢迎您走进我的博客,图像处理与计算机视觉是我的研究方向,成为机器视觉领域的专家是我的理想,机器视觉的进步源于孜孜不倦地追求,愿与您携手共进!fusen_echo@时间记忆<< < 2009 - 8 > >>日一二三四五六12345678910111213141516171819202122232425262728293031最新日志高速自动光学检测(AOI)系统的先进这16句话应该看看最大化数字化图像采集的四个要素(下)最大化数字化图像采集的四个要素(上)选择数字图像采集的五个关键因素机器视觉何时需要彩色CMOS和CCD-应用推动图像处理技科学地清洗镜头对付有挑战性的视觉应用懂了遗憾,就懂了人生最新评论签写留言最近有机会接触机器视觉方面的项目,以SuperResolution请教Hobject图像格式问题做个朋友HELLORe:希望能结识您希望能结识您请教最新回复Re:学习一位软件工程师的总结Re:机器视觉系统构造指南-开头篇Re:VC++学习笔记Re:自动映射网络驱动器Re:科学地清洗镜头Re:学习HALCON软件的心得体会Re:毕业前笔记整理-VC++图像处Re:最大化数字化图像采集的四个要素Re:毕业前笔记整理--VC++大杂Re:毕业前笔记整理-VC++图像处我的好友大恒图像HALCON机器视觉在线CSDN网摘中国视觉网雀巢咖啡Molex研学论坛莲花山研究院中华视频网悠扬音乐中国图像图形网Computer Vision CoursesAutomated Vision System我的相册站点信息详细信息站内订阅(6)加为好友发送短信日志:189评论:125留言:10访问:73115生活因感动而精彩,理想在创造中放飞。

相关文档
最新文档