halcon 获取可变形模板匹配后的偏移旋转完 整范例
时间: 2024-09-06 19:07:04 浏览: 83
halcon-轮廓模板匹配.rar_halcon 轮廓匹配_halcon匹配_匹配 halcon_模板halcon_模板匹配ha
5星 · 资源好评率100%
在Halcon中进行可变形模板匹配(Deformable Matching),可以通过`find_deformable_model`函数来实现。这个函数能够在图像中寻找与给定模板最匹配的对象,即使对象在形状、大小、旋转和视角上有所变化。当匹配成功后,`find_deformable_model`会返回匹配对象的位置、旋转和缩放信息。
以下是一个简单的例子,展示如何在Halcon中进行可变形模板匹配,并获取匹配后的偏移和旋转信息:
```halcon
* 读取图像和模板
read_image(Image, 'path_to_image')
read_object_model_3d(TemplateModel, 'path_to_template')
* 设置匹配参数
gen_empty_obj(Model)
gen_deformable_model(Model, 0, 'auto', 'auto', 'auto', 'use_polarity', 'auto', 'auto', 'auto', 'auto', TemplateModel)
* 搜索模板
find_deformable_model(Image, Model, 0, 0.9, 0.5, 'least_squares', 0, 0.9, 0.9, 2, 0, 0, Row, Column, Angle, Score)
* 显示结果
dev_display(Image)
gen_cross_contour_xld(Cross, Row, Column, 6, 0)
disp_cross_contour_xld(Cross, Image, Row, Column, 'red', 3)
* 打印匹配结果
write_string('Row: ' + Row)
write_string('Column: ' + Column)
write_string('Angle: ' + Angle)
write_string('Score: ' + Score)
* 清理
clear_deformable_model(Model)
clear_object(TemplateModel)
```
在这个例子中,我们首先读取了一张图像和一个模板对象。然后创建了一个可变形模型,并设置了相关参数。使用`find_deformable_model`函数搜索图像中的匹配对象,并获取匹配位置(Row, Column)和角度(Angle)。匹配的结果通过绘制一个十字线在图像上显示,并且在控制台中打印出匹配的位置、角度和得分。最后,我们清理了创建的对象以释放资源。
阅读全文