当前位置: 首页 > news >正文

【halcon】模板匹配参数之金字塔级数

背景

今天,在使用模板匹配的时候,突然程序卡死,CPU直接飙到100%。最后排查发现是模板匹配其中一个参数 NumLevels 导致的:

NumLevels:
The number of pyramid levels used during the search is determined with numLevels. If necessary, the number of levels is clipped to the range given when the shape model was created with CreateShapeModel. If numLevels is set to 0, the number of pyramid levels specified in CreateShapeModel is used. 

大致意思是:

NumLevels: 搜索期间使用的金字塔级别数由 numLevels 确定。

CreateShapeModel 创建形状模型时会有一个范围,(我平时使用的是”auto“)

如果 numLevels 设置为 0,则使用 CreateShapeModel 中指定的金字塔等级数。

什么是金字塔级数

现在来理解一下金字塔:

 这样看,其实金字塔就是对图片做卷积,也就是特征的提取,金字塔级数越大,抽取的特征越抽象,判定的速度就越快。

卡死的原因

卡死的原因是我,使用find_scaled_shape_model是我将 NumLevels 设置为1。

后面,将其设置为0后,就不卡了,后续我设置成2,依旧会卡但是没卡死。设置成3和4,就变得快了。

小结

  1.    如果图片比较大(比如有十几兆到上百兆),NumLevels 最好不要为1。
  2.    在创建模板时(CreateShapeModel),就要规划好金字塔层数。可以使用auto 关键字。
  3.    模板匹配时(find_scaled_shape_model),如果 numLevels 设置为 0,则使用 CreateShapeModel 中指定的金字塔等级数。

http://www.lryc.cn/news/27657.html

相关文章:

  • jupyter lab安装和配置
  • 用Docker搭建yolov5开发环境
  • Apache Pulsar 云原生消息中间件之王
  • 精选博客系列|公用事业中的VMware:在边缘重新定义价值
  • 数字档案室测评的些许感悟
  • Java 函数式编程实例
  • Ant design Chart onReady函数使用外部变量问题
  • Unity使用webSocket与服务器通信(一)搭建一个简单地服务器和客户端
  • SpringCloud微服务实战——搭建企业级开发框架(四十九):数据字典注解的设计与实现
  • mysql下,实现保存指定用户、ip、命令的查询日志
  • Vue 3.0 学习笔记之基础知识
  • WebGIS行政区炫酷特效——流光特效教程
  • 2023-3-3 刷题情况
  • 《青浦区加快发展跨境电子商务实施细则(审议稿)》
  • 【React全家桶】React生命周期
  • B. Count the Number of Pairs
  • 离线数据仓库项目--技术选择
  • GC Garbage Collectors
  • 【网络】-- 网络基础
  • 二、Redis安装配置(云服务器、vmware本地虚拟机)
  • 【学习Docker(七)】详细讲解Jenkins部署SpringCloud微服务项目,Docker-compose启动
  • 时机将至,名创优品或将再掀起一波消费热浪
  • 深圳大学计软《面向对象的程序设计》实验8 静态与友元
  • 【基础算法】单链表的OJ练习(2) # 链表的中间结点 # 链表中倒数第k个结点 #
  • vue路由文件拆分管理
  • 实例解析Java反射
  • Android 9适配经验总结
  • 定时任务调度方案——Xxl-Job
  • 操作系统引导
  • [C#] 多线程单例子,分为阻塞型和分阻塞型, 在unity里的应用