基于halcon的特征匹配实例

原图

模板

在这里插入图片描述
在这里插入图片描述

识别图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码

*这个例子在图片数据库中查找文章的页面。

*第一步是训练不同的页面并创建模型。

*然后搜索未知图像并检测出正确的文章页面。

*请注意,这个例子需要一些内存来训练模型。
dev_update_off ()
dev_close_window ()
read_image (Image, 'book/1')
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_display (Image)
*定义需要使用变量
ModelIDs := []
ModelsFound := 0
NumPoints := []
NumModels := 2
TotalTime := 0
* 
* Create region for visualization purpose.
*生成需要处理区域矩形
RowRoi := [10,10,Height - 10,Height - 10]
ColRoi := [10,Width - 10,Width - 10,10]
gen_rectangle1 (Rectangle, 10, 10, Height - 10, Width - 10)
disp_message (WindowHandle, ['Press \'Run\' to start model creation ...','(may take a few minutes)'], 'window', 10, 10, 'black', 'true')
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
* 
* For every page the descriptor model is created.
for Index := 1 to NumModels by 1
    read_image (Image, 'book/' + Index)
    rgb1_to_gray (Image, ImageGray)
    get_image_size (ImageGray, Width, Height)
    *截取需要处理的区域
    reduce_domain (ImageGray, Rectangle, ImageReduced)
    dev_clear_window ()
    dev_display (ImageGray)
    disp_message (WindowHandle, 'Creating model no. ' + Index + '/' + NumModels + ' ... please wait.', 'window', 10, 10, 'black', 'true')
    * 
    * Create the descriptor model with default parameters (except scaling)
    * For a fast detection, the harris binomial point detector is chosen.
   *运算符create_uncalib_descriptor_model准备图像区域的描述符模型,该模型在图像模板中传递,可用于基于描述符的匹配。
   *通过随后调用find_uncalib_descriptor_model,可以获得从模板到搜索图像的投影2D变换(单应性)。
   *模板中区域的重心作为模型的原点。与create_calib_descriptor_model相比,不需要校准相机,因此后续匹配的结果是2D投影。
   *请注意,在模板图像中可见的对象部分必须是平面的。
   
   *cre
### 回答1: 鹰眼模板匹配是一种机器视觉技术,它通过在图像中搜索预定义的模板来识别对象,从而实现自动检测和定位。它的基本原理是将待检测图像与模板图像进行比较,以查找相似的区域,并确定其位置。它可以用来检测图像中的固定尺寸的对象,也可以用来检测不同尺寸的物体。 ### 回答2: Halcon是一种先进的图像处理软件,具有强大的模板匹配功能。模板匹配是一种基于图像相似度的算法,它可以在一幅图像中找到与给定模板最相似的位置。 使用Halcon进行模板匹配的步骤如下: 1. 创建模板:首先,需要创建一个模板,它是一个具有所需特征的图像区域。可以通过在Halcon中选择一个感兴趣的区域,然后使用模板工具栏中的“创建模板”按钮来创建模板。 2. 准备输入图像:要进行模板匹配的图像需要准备好。可以通过打开一幅图像文件或者使用摄像头捕捉实时图像来获取输入图像。 3. 运行模板匹配:在Halcon的“模板匹配”工具栏中,选择“模板匹配”的功能模块。然后,将创建的模板和输入图像分别输入到相应的输入端口。 4. 参数设置:在进行模板匹配之前,需要设置相关的参数,包括匹配算法、匹配阈值和搜索区域等。根据实际情况,可以调整这些参数以提高匹配的准确性。 5. 显示匹配结果:在模板匹配完成后,Halcon会生成一个匹配结果图像,其中标记了与模板匹配最相似的位置。可以通过筛选匹配得分来选择合适的匹配结果。 总结:Halcon的模板匹配功能具有直观易用、准确性高的特点。通过简单的操作,可以在图像中快速准确地找到所需特征的位置。然而,为了获得更好的匹配效果,用户需要根据实际需求进行参数设置和调整,并且需要具备一定的图像处理知识。 ### 回答3: Halcon模板匹配是一种常用的机器视觉算法,用于在图像中快速准确地定位模板。下面将详细介绍Halcon模板匹配的实例。 首先,创建一个包含所需参考模板的图像数据集。参考模板是我们希望在其他图像中找到的目标。可以通过对该目标的样本图像进行采集和处理来生成参考模板。 接下来,使用Halcon提供的模板创建工具,在图像数据集中指定参考模板。该工具将通过提取模板的特征信息,如形状、纹理、颜色等,来生成一个能够精确描述模板的模型。 然后,选择一张待处理的图像,将其作为输入图像。通过Halcon的模板匹配算法,对输入图像进行处理,以检测出其中与模板相匹配的目标。 在进行模板匹配时,Halcon会使用所生成的模型与输入图像进行匹配,并根据其对应的匹配度进行排序。根据设定的阈值,可以选择只保留匹配度高于阈值的目标。 最后,根据匹配结果,可以进行下一步的处理,如目标定位、测量、分类等。 Halcon模板匹配的实例应用广泛,如工业自动化中的零件定位、印刷行业的字符识别、医疗图像中的病灶检测等。该算法具有较高的准确性和鲁棒性,并且可以在较短的时间内完成图像处理任务。 总之,Halcon模板匹配是一种强大的图像处理算法,它可以帮助我们快速准确地定位目标并进行相关的后续处理。通过合理使用模板创建工具和模板匹配算法,我们可以在不同领域中应用该算法,从而提高图像处理的效率和精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值