OpenCV 中未记录的 groupRectangles 变体

2023-11-22

在OpenCV中的cascadeDetect.cpp中,有以下几种变体groupRectangles功能:

void groupRectangles(std::vector<Rect>& rectList, int groupThreshold, double eps);
void groupRectangles(std::vector<Rect>& rectList, std::vector<int>& weights, int groupThreshold, double eps);
void groupRectangles(std::vector<Rect>& rectList, std::vector<int>& rejectLevels, std::vector<double>& levelWeights, int groupThreshold, double eps);

但在OpenCV 文档,仅清楚地记录了第一个变体,提到了第二个变体,但weights论证没有解释。第三个甚至没有提到。

谁能解释一下的含义weights, rejectLevels, and levelWeights?


我读了groupRectangles看了源码,在一定程度上理解了这些参数的含义。

groupRectangles定义在cascadeDetect.cpp中,OpenCV中的traincascade项目使用该文件。该项目使用viola-jones的级联adaboost框架来检测物体,因此它有多个级联阶段,每个阶段都是一个强分类器。默认情况下,级联分类器仅在输入样本通过每个阶段时输出正值,但如果您想绘制 ROC 曲线,您也可以将其设置为输出样本被拒绝的阶段索引。

So rejectLevels表示矩形被拒绝的阶段索引。根据源码来看,效果是weightrejectLevels.

上面两个参数对于我们来说可能不太实用,但是levelWeights有时是有用的。它最初是拒绝它的阶段输出的矩形的分数,但我们可以将它用于更通用的目的。如果每个矩形都有一个分数(无论它来自哪里),并且我们想要获得分组矩形的分数,则记录的变体groupRectangles不会帮助我们。我们必须使用第三个,rejectLevels设置为零:

vector<int> levels(wins.size(), 0);
groupRectangles(wins, levels, scores, groupThreshold, eps);

其中scores是分数wins。它们具有相同的尺寸。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV 中未记录的 groupRectangles 变体 的相关文章

  • 将 Magick::Image 转换为 cv::Mat

    我正在尝试将通过 Magick 从 GIF 加载的图像转换为cv Mat 我已经从cv Mat to Magick Image但似乎无法找到如何从 Magick 中的图像中提取数据以便将其加载到 Mat 中 最好的方法是什么 供参考 反过来
  • Python OpenCV:检测大体运动方向?

    我仍在编写一个书籍扫描脚本 现在 我所需要的只是能够自动检测翻页 这本书占据了 90 的屏幕 我使用一个粗糙的网络摄像头进行运动检测 所以当我翻页时 运动方向基本上是同一个方向 我修改了一个运动跟踪脚本 但导数却无济于事 usr bin e
  • 如何在win32上安装OpenCV 2.0

    我需要在 Win32 上安装 OpenCV 我目前没有安装它 我下载了 OpenCV 2 0 0a win32 exe 并运行它 我现在到底该怎么办 没有 lib之类的东西 我找到了一些使用 cmake 构建版本的说明 http openc
  • 使用 cmake 和 opencv 对符号“gzclose”的未定义引用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我尝试构建该项目 doppia https bitbucket org rodrigob doppia 但发生链接错误 我想这是一
  • 在 iPad 上使用 OpenCV 避免碰撞

    我正在开展一个项目 需要使用 OpenCV 实现碰撞避免 这是在 iOS 上完成的 iOS 5 及以上版本即可 项目目标 这个想法是将 iPad 安装在汽车仪表板上并启动应用程序 应用程序应该从相机中抓取帧并进行处理 以检测汽车是否会与任何
  • 将四边形(四边形)拟合到斑点

    应用不同的过滤和分割技术后 我最终得到如下图像 我可以访问一些轮廓检测函数 这些函数返回该对象边缘上的点列表 或者返回一个拟合的多边形 尽管有很多边 远多于 4 个 我想要一种将四边形适合该形状的方法 因为我知道它是应该是四边形的鞋盒的正面
  • 带有 OpenCV 的增强现实 SDK [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何解决 Python 'Pyzbar' 库的导入错误?

    我刚刚开始熟悉 Pyzbar 库 但是当使用decode方法我得到一个错误 这是代码 import cv2 import numpy as np import pyzbar code image cv2 imread C Users Ace
  • OpenCV findContours 破坏源图像

    我编写了一个在单通道空白图像中绘制圆形 直线和矩形的代码 之后 我只需找出图像中的轮廓 就可以正确获取所有轮廓 但找到轮廓后 我的源图像变得扭曲 为什么会出现这种情况 任何人都可以帮我解决这个问题 我的代码如下所示 using namesp
  • brew 链接 jpeg 问题

    我正在尝试安装opencv在 Mac OSX Lion 上 brew install opencv 我收到以下错误 以及其他一些类似的错误 Error The linking step did not complete successful
  • opencv createsamples没有错误,但是没有找到样本

    我在用着this http coding robin de 2013 07 22 train your own opencv haar classifier html教程 我正在根据我的正面图像创建大量样本 我正在使用 Windows 这是
  • 如何在给定目标大小的情况下在 python 中调整图像大小,同时保留纵横比?

    首先 我觉得这是一个愚蠢的问题 对此感到抱歉 目前 我发现计算最佳缩放因子 目标像素数的最佳宽度和高度 同时保留纵横比 的最准确方法是迭代并选择最佳缩放因子 但是必须有更好的方法来做到这一点 一个例子 import cv2 numpy as
  • 如何在opencv python中为图像添加边框

    如果我有如下图所示的图像 如何在图像周围添加边框 以便最终图像的整体高度和宽度增加 但原始图像的高度和宽度保持在中间 下面的代码添加了一个大小恒定的边框10像素到原始图像的所有四个边 对于颜色 我假设您想要使用背景的平均灰度值 这是我根据图
  • 在加载“cv2”二进制扩展期间检测到递归

    我有一个小程序 在 pyinstaller 编译后返回 opencv 错误 但无需编译即可工作 我在 Windows 10 上使用 Python 3 8 10 Program 导入 pyautogui将 numpy 导入为 np导入CV2
  • 我可以使用 openCV 比较两张不同图像上的两张脸吗?

    我对 openCV 很陌生 我看到它可以计算出脸部并返回一个矩形来指示脸部 我想知道 openCV 是否可以访问两张包含一张脸的图像 并且我希望 openCV 返回这两个人是否相同的可能性 Thanks OpenCV 不提供完整的人脸识别引
  • 曲线/路径骨架二值图像处理

    我正在尝试开发一个可以处理图像骨架的路径 曲线的代码 我想要一个来自两点之间骨架的点向量 该代码在添加一些点后结束 我没有找到解决方案 include opencv2 highgui highgui hpp include opencv2
  • 来自连接到远程机器的相机的 Opencv 流

    我正在用 python 开发一个 wx 应用程序 用于流式传输和显示来自两个不同网络摄像头的视频 这工作正常 但现在我需要在不同的场景中执行此操作 其中两个摄像头连接在通过网络连接的 Windows 上运行的单独计算机中 我的应用程序将在机
  • 如何将输出视频保存到 OpenCV 中的文件中

    我想将输出视频保存到文件中而不是显示它并尝试使用 cvcaptureimage 但仍然无法获得结果 include
  • 当我将鼠标移到 Mat 关键字上时,Visual Studio 2017 冻结(OpenCv 3.4.1)

    我想在 Visual Studio 2017 中开发 openCv 项目 我下载了 opencv 预构建库并进行了必要的设置 那是 1 我添加了系统路径 build x64 vc14 bin 2 在 Visual Studio 中的项目属性
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us

随机推荐

  • 如何刷新我从 iOS 中的 google oauth 2.0 获得的令牌

    我正在制作一个 iOS 应用程序 它使用用户的 google 帐户从他的 YouTube 帐户获取数据并向他们显示 第一步是使用 gtm2 对用户进行身份验证并获取访问令牌和刷新令牌 问题是访问令牌在 60 分钟后过期 我必须再次登录并允许
  • 以编程方式多次更改操作栏颜色

    我在用 getSherlockActivity getSupportActionBar setBackgroundDrawable new ColorDrawable 0xff00ACED 要更改片段中操作栏的颜色 它可以工作 但是 如果我
  • 如何在sql server 2005中获取x和y之间的日期表

    我只是想要一种快速的方法 最好不使用 while 循环 创建日期 x 和日期 y 之间的每个日期的表 这样我就可以将外部连接保留到一些统计表 其中一些统计表没有某些记录之间的天数 允许我用 0 标记缺失的天数 严格来说 这并不能完全回答你的
  • C++ 缓冲流 IO

    据我了解 默认情况下 C 支持的所有流 IO 都会被缓冲 这意味着要输出的数据被放入缓冲区 直到缓冲区满 然后发送到输出设备 类似地 对于输入 一旦缓冲区为空 就会读取数据 所有这些都完成了 这样就减少了昂贵的系统数量可以尽量减少通话次数
  • C# 中 Task.FromResult 有什么用

    在 C 和 TPL 中 任务并行库 the Task类代表一项正在进行的工作 它产生 T 类型的值 我想知道需要什么任务 FromResult方法 也就是说 在您手头已经有了生产值的情况下 需要将其包装回任务中吗 唯一想到的是它被用作接受任
  • 解析 applicationContext.xml 会呈现“java.lang.NoSuchMethodError”。这可能是由依赖性问题引起的吗?

    我正在使用带注释的应用程序上下文调用测试方法 Junit ContextConfiguration locations classpath applicationContext xml 测试失败并显示以下堆栈跟踪 11 20 39 793
  • 如何使用 JavaScript 正则表达式替换字符串中双引号之间的文本?

    我有一个 JS 字符串 其中包含双引号之间的文本 我想使用正则表达式将该文本替换为另一个用户输入的文本 但我不知道该怎么做 例如 给定字符串 The book A Farewell to Arms will be published aga
  • jQuery 单击除 div 及其子元素之外的所有内容

    我想在单击任意位置时执行某些操作 但单击 div 及其子级时除外 这是我到目前为止所尝试过的 但它不起作用 单击它的子级仍然会执行括号内的内容 body on click not calculator function e 我不能使用这样的
  • 动态更改android gridview中的列号?

    我的应用程序在 gridview 中以横向显示图像图标 为此 我使用 xml 作为
  • 根据一列对另一列进行排序

    我想根据 B 列的值对 A 列进行排序 在 Google 表格中 这很简单 SORT A1 A100 B1 B100 TRUE 如何做到这一点Excel 要手动执行此操作 您可以突出显示要排序的所有列 然后单击 主页 选项卡中 排序和过滤
  • 在 Matplotlib 极坐标图上设置径向轴

    我正在极坐标图上绘制方位角 仰角曲线 其中仰角是径向分量 默认情况下 Matplotlib 绘制从中心 0 到周边 90 的径向值 我想扭转它 所以 90 度是在中心 我尝试通过调用 ax set ylim 90 0 设置限制 但这会导致抛
  • 如何使用数据关闭来关闭引导面板?

    我有一个打开面板的按钮 我希望能够像使用警报一样关闭它 Bootstrap 文档中的默认面板示例 div class panel panel default div class panel heading Panel heading wit
  • Python dask 数组对象的项分配

    我创建了一个 Python dask 数组 并尝试按如下方式修改数组的一部分 import numpy as np import dask array as da x np random random 20000 100 100 Creat
  • 无法克隆存储库:致命:R 任何 gitolite-admin gitolite 均被 Fallthru 拒绝

    我正在设置gitolite第一次 我正在跟进本说明 当我 ssh 时 看起来很好 ssh p 2222 gitolite debian PTY allocation request failed on channel 0 hello git
  • std::allocator 构造/销毁与放置 new/p->~T()

    对于我的一个项目 我正在从头开始编写一些 STL 容器 我有我的理由 由于我如此密切地模仿 STL 的功能和接口 因此我会尽最大努力遵守 如果它与标准结构同名 它将尽可能符合标准 的政策 因此 当然我的容器将分配器作为模板参数 这非常好 因
  • NGINX“Access-Control-Allow-Origin”标头包含多个值

    我有一个带有 PHP 的 NGINX 服务器 假设主机名为http myserver com 我有一个 PHP 脚本 我正在通过 XHR 从本地主机上的网页访问该脚本 我将它用作类似于 freegeoip net 的 GeoIP 服务器 我
  • 将行从一个表复制到另一个表,忽略重复项

    我有 2 个具有相同架构的表 srcTable1 和 destTable 我试图将所有行从 srcTable 复制到 destTable 并忽略重复项 我想我可以添加一个带有子查询的 WHERE 子句 该子查询只会给我不重复的行 然而 它似
  • android.widget.Button 无法转换为 android.widget.EditText

    在开发我的第一个 Android 计算器应用程序时 我通过意图传递答案 成功更新了新活动中的 TextView 但这需要用户按 返回 来执行另一次计算 我试图让 doCalculation 按钮更新 MainActivity 中的简单 Te
  • unix 套接字上的原子写入?

    我正在尝试选择pipes and Unix 套接字对于IPC机制 两者都支持select and epoll 功能很棒 现在 管道具有 4kB 截至今天 的 原子 写入 这是由 Linux 内核保证的 unix 套接字是否存在这样的功能 我
  • OpenCV 中未记录的 groupRectangles 变体

    在OpenCV中的cascadeDetect cpp中 有以下几种变体groupRectangles功能 void groupRectangles std vector