本文主要是介绍halcon操作算子:find_scaled_shape_model,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
find_scaled_shape_model
是 HALCON 中的一个操作符,用于在图像中搜索已知形状模型的实例,同时允许模型在尺寸、旋转和位置方面发生变化。这个操作符非常适合于在不同尺度和方向上识别目标对象。
基本语法
find_scaled_shape_model(ImageSearch, ModelID, MinAngle, MaxAngle, MinScale, MaxScale, NumLevels, MatchThreshold, Row, Column, Angle, Scale, Score, NumMatches)
参数说明:
ImageSearch
:要搜索的图像。ModelID
:之前通过train_shape_model
训练得到的形状模型的ID。MinAngle
:搜索角度的最小值,以弧度为单位。MaxAngle
:搜索角度的最大值,以弧度为单位。MinScale
:搜索的最小尺度因子。MaxScale
:搜索的最大尺度因子。NumLevels
:搜索时使用的金字塔级别数。MatchThreshold
:匹配阈值,用于确定是否找到了模型的实例。Row
:找到的模型实例的中心点的行坐标。Column
:找到的模型实例的中心点的列坐标。Angle
:找到的模型实例的旋转角度,以弧度为单位。Scale
:找到的模型实例的尺度因子。Score
:匹配得分,表示找到的模型实例的匹配程度。NumMatches
:输出参数,表示找到的匹配实例的数量。
示例
假设你已经训练了一个形状模型并得到了 ModelID
,现在你想在一个新的图像中搜索这个模型的实例:
* 定义搜索参数
MinAngle := rad(-180) * 最小角度 -180度
MaxAngle := rad(180) * 最大角度 180度
MinScale := 0.8 * 最小尺度因子
MaxScale := 1.2 * 最大尺度因子
NumLevels := 3 * 金字塔级别数
MatchThreshold := 0.8 * 匹配阈值* 进行形状模型搜索
find_scaled_shape_model(ImageSearch, ModelID, MinAngle, MaxAngle, MinScale, MaxScale, NumLevels, MatchThreshold, Row, Column, Angle, Scale, Score, NumMatches)* 检查找到的匹配数量
NumMatches(matches, NumMatches)
在这个例子中,find_scaled_shape_model
将尝试在 ImageSearch
中找到 ModelID
指定的形状模型的实例,考虑到尺度变化、旋转和位置的变化。搜索将覆盖从 -180
到 180
度的角度范围,并且考虑了从 0.8
到 1.2
的尺度变化。金字塔级别数设置为 3
,匹配阈值设置为 0.8
,表示只有当匹配得分高于这个阈值时,才认为找到了模型的实例。
NumMatches
将返回找到的匹配实例的数量,这可以用于进一步的分析或决策逻辑。
注意事项
- 确保在调用
find_scaled_shape_model
之前,你已经使用train_shape_model
训练了形状模型,并且得到了一个有效的ModelID
。 - 调整
MinAngle
、MaxAngle
、MinScale
和MaxScale
参数可以改变搜索的范围和灵活性,以适应不同的应用场景。 NumLevels
控制搜索时使用的图像金字塔的级别数,增加级别数可以提高搜索的准确性,但也会增加计算量。MatchThreshold
是一个重要的参数,它决定了何时认为找到了一个匹配。根据你的应用需求适当调整这个阈值。
✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进
❤欢迎关注我的知乎:对error视而不见
代码获取、问题探讨及文章转载可私信。
☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。
🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇
点击领取更多详细资料
这篇关于halcon操作算子:find_scaled_shape_model的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!