2、从图1框选ROI,ROI的像素中心点是B,ROI就是模板。 3、使用find_shape_model算子,在图2找到了物品,算子返回了Row, Column, Angle三个参数。 4、如下图所示,A,B,C点三者的对应关系是求出来了。 A是图1左上角的起点; B是ROI的像素中心点,也是图2的起点; C是匹配到的物体像素中心点。 A与B之间的宽...
最后,该模板寻找算子在找不到目标的情况下较为耗时,通过算子 set_shape_model_param (ModelID, ‘timeout’, 1000) 能设置匹配时长,如果find_shape_model达到’timeout’,立刻终止执行,无输出匹配结果,返回一个错误代码9400(H_ERR_TIMEOUT)。
Halcon模板匹配算子find_shape_model里的参数Row, Column, Angle(单位:弧度)含义是什么? find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score) 先看官方文档怎么说 The position and rotation of t...
halcon中的find_shape_model算法基于边缘梯度相似性进行模版匹配,在处理2D刚体变换时具有很好的效果,如果匹配的物体存在大小缩放时则可以应用find_scaled_shape_model()和find_aniso_shape_model()等算法。 但上面提及的算子在处理物体存在变形时效果不好,虽然find_shape_model()的SubPixel参数支持设置一个max_deformatio...
要优化find_scaled_shape_model的搜索性能和结果,可以考虑以下几点: 调整搜索参数:根据具体应用场景,调整MinAngle、MaxAngle、MinScale、MaxScale等参数,以缩小搜索范围,提高搜索效率。 使用金字塔搜索:通过设置NumLevels参数,利用图像金字塔进行多尺度搜索,可以提高搜索速度。 设置合理的匹配阈值:MatchThreshold参数决定了匹配...
void FindScaledShapeModel(Mat Image vectorModelImageSet vectorModelPointSet vectorScaleSet vectorAngleSet int PyrLevel float MinScore \ vector*pRow vector* pCol vector*pScale vector* pAngle vector*pScore); int main() { //缩放参数 float scaleMin = 0.9 scaleMax = 1.1 scaleStep = 0.1; ...
1模板匹配使用的重要算子 find_scaled_shape_model ( Image : : ModelID , AngleStart , AngleExtent , ScaleMin , ScaleMax , MinScore , NumMatches , MaxOverlap , SubPixel , NumLevels , Greediness : Row , Column , Angle , Scale ,
使用halcon hdevelop中的Matching助手,测试相同的图片和模板,阈值调整为0.5,能够匹配到,这就很奇怪了,助手使用的是find_scaled_shape_model,难道是这两个算子本身其实是不相同的? 为了找到问题,插入代码,一个个参数对比。 最终发现是贪心算法的那个参数可能不恰当。这个参数在0-1之间,越小搜索的越仔细,耗时越久;越...
一般是用到的算子如下: create_shape_model ()中的 constrast 是指 模板中前景 与背景的对比度 minconstrast 查找到的实例的对比度 get_shape_model_contours 获得模型轮廓 ,中心点在原点位置 查找模板find_shape_model 涉及到的一些参数详细的作用介绍如下: ...