多尺度模板匹配(openCV实现find_scaled_shape_model)

        一直在写基于形状的模板匹配(仿照halcon,cognex),我们知道任意的二维仿射变换可以分解为以下几种变换:缩放变换(用不同比例因子Sx_{},Sy分别对图像X轴Y轴进行缩放)、倾斜变换(X轴保持固定的情况下,Y轴相对于X轴旋转角度θ)、旋转变换(X轴Y轴同时旋转角度Φ),最后是平移变换(Tx,Ty))^{T},写到一起就是下面的公式:

        在前面的文章中我们已经解决了旋转的问题,接下来解决缩放的问题,首先是尺度空间离散化,仿照旋转需要计算出每层金字塔的比例步长,这里给出比例步长的计算公式,如下图(来源于MVTec公司的一篇专利)是一个钥匙的模型,c是模型的参考点(重心),d_{max}是所有模型点到参考点的最大距离,d_{x}是X轴方向上距离参考点的最大距离&#x

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
### 回答1: find_scaled_shape_modelOpenCV中的一个函数,用于在图像中查找缩放形状模型。该函数的参数包括: 1. image:要查找模型的图像。 2. templ:要查找的模板图像。 3. shapes:形状模型的向量。 4. s: 缩放因子。 5. angles:旋转角度的向量。 6. found_locations:找到的位置的向量。 7. scales:缩放因子的向量。 8. threshold:匹配阈值。 9. max_shapes:最大形状数。 10. overlap_threshold:重叠阈值。 11. num_levels:金字塔层数。 12. group_threshold:组合阈值。 13. eps:收敛阈值。 14. min_scale:最小缩放因子。 15. max_scale:最大缩放因子。 16. orientation_weight:方向权重。 17. scale_weight:缩放权重。 18. model_type:模型类型。 19. update:是否更新模型。 20. verbose:是否输出详细信息。 ### 回答2: find_scaled_shape_model是一个OpenCV中的函数,用于在一组图像中找到缩放后的形状模型。该函数主要用于目标跟踪和识别方面。 该函数的参数包括: 1. image:输入的图像,必须是灰度图像。 2. shapeModel:形状模型,该参数是之前使用shape_train模块训练出的形状模型。 3. textureModel:纹理模型,该参数是之前使用texture_train模块训练出的纹理模型。 4. scales:表示在哪些不同的尺度上查找形状模型。可以使用等差数列指定不同的尺度。 5. scaleFactor:表示每个尺度之间的缩放比例,默认为1.2。 6. threshold:表示匹配度的阈值,只有匹配度高于该阈值才会被认为是匹配成功。 7. minFeatureSize:表示最小的特征点大小,特征点大小指的是在形状模型中应该被考虑的最小大小。当特征点大小小于该参数时,这些特征点会被忽略。 8. maxFeatureSize:表示最大的特征点大小,特征点大小指的是在形状模型中应该被考虑的最大大小。当特征点大小大于该参数时,这些特征点会被忽略。 9. searchDepth:表示图像金字塔中搜索的深度,即搜索图像的层数。越深的层级能够提供更高的精度,但是会增加计算的时间。 10. matches:输出的每个尺度下匹配成功的点。 11. useProportionalSampling:表示是否使用比例采样的方法,在所有层次的图像中相同的比例提取点集合。默认为False。 12. featureExtractor:表示要使用的特征提取器,可以是形状和纹理特征提取器、图像梯度或Gabor滤波器。 以上便是find_scaled_shape_model函数的所有参数。在使用该函数时,需要根据实际应用场景选取适当的参数,以获取最好的识别效果。 ### 回答3: find_scaled_shape_model参数是OpenCV中一个用于模板匹配的函数,主要用于在图像中寻找与给定模板最相似的区域。该函数可以处理不同尺度和旋转角度下的模板匹配问题,使得匹配结果更加准确。 该函数的常用参数包括: 1. image:待匹配的图像。必须是单通道图像,例如灰度图像。 2. templ:模板图像。与image大小相同或小于image。 3. scale:模板的尺度范围。可以输入一个浮点数,表示模板尺度变化的比例因子范围,例如0.8~1.2。 4. angle:模板的旋转角度范围。可以输入一个浮点数,表示模板旋转角度变化的范围,例如-30度~+30度。 5. levels:分层数量。分层数量越高,匹配结果越准确,但计算量也越大。 6. angle_step:旋转角度步长。该参数表示每次旋转角度的变化量。 7. min_scale:最小的模板尺度。模板尺度小于该值的将不会进行匹配。 8. max_scale:最大的模板尺度。模板尺度大于该值的将不会进行匹配。 9. fit_threshold:匹配的阈值。匹配结果小于该阈值的将被忽略。 10. overlap_threshold:重叠率的阈值。当匹配结果与已有的匹配重叠率超过该阈值时,将被忽略。 11. model:输出的模型参数。该参数为一个VectorOfPoint2f类型的向量,每个元素对应一个匹配结果。 12. simmilarity:输出的匹配相似度。该参数为一个DoubleVector类型的向量,每个元素对应一个匹配结果的相似度值。 总之,find_scaled_shape_model函数可以解决不同尺度和旋转角度下的模板匹配问题,是图像处理和计算机视觉领域中的重要函数之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值