HOGDescriptor 带有视频来识别物体

2024-06-23

不幸的是,我既是 python 又是 openCV 初学者,所以如果问题很愚蠢,请原谅我。

我正在尝试使用cv2.HOGDescriptor识别视频中的物体。我关心的是逐帧识别(即没有跟踪等)。


这是我正在做的事情:

  1. 我读了视频(目前是.mpg) 通过使用

    capture = cv.CreateFileCapture(video_path) #some path in which I have my video
    #capturing frames
    frame = cv.QueryFrame(capture) #returns cv2.cv.iplimage
    
  2. 为了最终在框架上使用检测器(我将使用

    found, w = hog.detectMultiScale(frame, winStride, padding, scale)
    

    )我想我需要转换frame from cv2.cv.iplimage to numpy.ndarray我做的

    tmp = cv.CreateImage(cv.GetSize(frame),8,3)
    cv.CvtColor(frame,tmp,cv.CV_BGR2RGB)
    
    ararr = np.asarray(cv.GetMat(tmp)).
    

现在我有以下错误:

    found, w = hog.detectMultiScale(ararr, winStride, padding, scale)
 TypeError: a float is required

where

    winStride=(8,8)
    padding=(32,32)
    scale=1.05

我真的不明白哪个元素才是真正的问题。 IE。哪个数字应该是浮点数?

任何帮助表示赞赏


无需自己执行额外的转换,该问题与 Python 的新旧 OpenCV 绑定的混合有关。另一个问题是关于hog.detectMultiScale这仅仅是由于参数排序不正确造成的。

第二个问题可以直接查看help(cv2.HOGDescriptor().detectMultiScale):

detectMultiScale(img[, hitThreshold[, winStride[, padding[, 
           scale[, finalThreshold[, useMeanshiftGrouping]]]]]])

如您所见,除了第一个(图像)之外,每个参数都是可选的。顺序也很重要,因为您正在有效地使用winStride作为第一个,而预计是第二个,依此类推。您可以使用命名参数来传递它。 (所有这些都已在之前的答案中观察到。)

另一个问题是代码混合,这里是您应该考虑使用的示例代码:

import sys
import cv2

hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
hogParams = {'winStride': (8, 8), 'padding': (32, 32), 'scale': 1.05}

video = cv2.VideoCapture(sys.argv[1])
while True:
    ret, frame = video.read()
    if not ret:
        break

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

HOGDescriptor 带有视频来识别物体 的相关文章

  • 嵌套生成器表达式 - 意外结果[重复]

    这个问题在这里已经有答案了 这是测试代码 units 1 2 tens 10 20 nums a b for a in units for b in tens units 3 4 tens 30 40 x for x in nums 假设第
  • 创建一个支持 json 序列化的类以与 Celery 一起使用

    我正在使用 Celery 来运行一些后台任务 其中一项任务返回我创建的 python 类 考虑到有关使用 pickle 的警告 我想使用 json 来序列化和反序列化此类 有没有一种简单的内置方法可以实现这一目标 该类非常简单 它包含 3
  • 使用 selenium 和 python 在网页网格中抓取 javascript 数据

    我的问题是我需要包含网站子域的网格中的所有数据https applipedia paloaltonetworks com https applipedia paloaltonetworks com 包含名称 类别 子类别 风险 技术的数据
  • Python Flask 删除请求

    我正在开发一个 Python 应用程序并使用 Flask 这是我的 DELETE 函数 app route DeleteMessage methods DELETE def DeleteMessage messages Message qu
  • 使用不带引号的块样式的 Python YAML 转储

    如何使用 PyYAML 加载和转储 YAML 以便它尽可能地使用原始样式 我有 Python 来加载和转储 YAML 数据 例如 import sys import yaml def represent dictorder self dat
  • 在 PyCharm 中启用终端模拟

    很多人告诉过我和PyCharm 2 7 的 PyCharm 发行说明 https www jetbrains com pycharm whatsnew whatsnew 27 html吹捧那个PyCharm包括完整的终端仿真 我认为这是关于
  • 获取父类名? [复制]

    这个问题在这里已经有答案了 class A object def get class self return self class class B A def init self A init self b B print b get cl
  • Python 中没有名称属性的表单提交

    背景 在Python中使用urllib和urllib2 您可以进行表单提交 您首先创建一个字典 formdictionary search stackoverflow 然后使用 urllib 的 urlencode 方法来转换这个字典 pa
  • 在Python中将月份和年份的列合并为季度和年份的列

    我有一个数据框 df Month 1 8 Year 2015 2020 df pd DataFrame data df df 想要将其转变为新列 期望的输出 df Month 1 8 Year 2015 2020 Quarter Q1201
  • 如何在Python中将N毫秒添加到日期时间

    我正在设置一个日期时间变量 fulldate datetime datetime strptime date time Y m d H M S f 其中日期和时间是适合日期时间性质的字符串 如何将此日期时间增加 N 毫秒 Use timed
  • Python父类访问子私有变量

    以下代码会生成错误 class A object def say something self print self foo print self bar class B A def init self self foo hello sel
  • 构建wheel失败/“错误:INCLUDE环境变量为空”

    我正在使用 Python 2 7 11 并尝试 pip install 模块 但是其中一些模块失败了 我收到的消息是 无法为 X 构建轮子 和 错误 包含环境变量为空 我尝试安装 Scrapy LXML 和 Twisted 但都失败了 我尝
  • 如何忽略 Sentry 捕获中的某些 Python 错误

    我已将 Sentry 配置为捕获 Django Celery 应用程序中的所有错误 它工作正常 但我发现一个令人讨厌的用例是当我必须重新启动我的 Celery 工作人员 PostgreSQL 数据库或消息服务器时 这会导致数千种各种 无法访
  • numpy.polyval() 的反函数

    我想知道 np polyval 是否有一个方便的反函数 我在其中给出 y 值并求解 x 我知道我可以做到这一点的一种方法是 import numpy as np Set up the question p np array 1 1 10 y
  • Python - 从一定范围内随机采样,同时避免某些值

    我一直在阅读有关random sample 函数在random模块 但没有看到任何可以解决我的问题的东西 我知道使用random sample range 1 100 5 会给我来自 人群 的 5 个独特样本 我想得到一个随机数range
  • Python for 循环前瞻

    我有一个 python for 循环 其中我需要向前查看一项以查看在处理之前是否需要执行某项操作 for line in file if the start of the next line 0 perform pre processing
  • matplotlib 后端 - 我关心吗?

    gt gt gt import matplotlib gt gt gt print matplotlib rcsetup all backends u GTK u GTKAgg u GTKCairo u MacOSX u Qt4Agg u
  • 在 Python 中为非唯一列表创建虚拟列

    目前我有下一个数据框 import pandas as pd df pd DataFrame ID 1 2 3 4 5 col2 a b c c d e f f b f a c b b a b print df ID c
  • 导入错误:无法导入名称

    我有一个名为 google translate python 的库 https github com terryyin google translate python https github com terryyin google tra
  • 无法将 类型的对象转换为张量

    我正在编写一个使用 Flask 框架的客户端 python 文件 并在 docker 机器中运行它 因此 这需要一个输入文件并生成它的输出 但它会抛出无法转换为张量的错误 tf app flags DEFINE string server

随机推荐

  • 可点击的链接未出现在生成的锚标记的页面上

    我有一些 js 代码生成以下锚标记 a 2017 09 10 a 我从 IE 的 DOM Explorer 中剪切并粘贴了它 该链接在我显示的页面上不可单击 这是我希望它运行的 vb net Sub DownloadInspection C
  • 关于存储库模式的一些我根本不明白的事情

    我已经阅读了很多关于存储库是什么的主题 但仍然有一些事情困扰着我 据我了解 两者之间唯一的区别存储库 and 传统数据访问层 are 存储库的查询构造能力 即查询对象模式 但是当阅读以下 a 的定义时存储库模式 看来我们还可以有存储库即使我
  • 网页导航

    我正在寻找有关如何为基于 Spring 的 Web 应用程序最好地实现网页导航逻辑的指南 例如 我有一个网页 C 如果单击 确定 我希望流程返回到页面 A 如果这是上一页 或者页面 B 如果这是上一页 我目前正在页面上使用隐藏字段来跟踪我到
  • Swift 中的函数签名专业化崩溃

    我从用户那里收到崩溃报告 但我不明白该崩溃报告 It says Ribony function signature specialization
  • 将信息打印到shiny-server日志中

    有没有办法将信息包含 打印到闪亮的服务器日志文件中 我正在使用一个闪亮的应用程序 其中包括用户登录 如果我的应用程序崩溃 我想知道是什么用户导致了这次崩溃 我试图将其纳入我的server R PRINT FOR LOG FILE cat p
  • 使用 DI 进行单元测试和模拟服务

    我已经为此苦苦挣扎了一段时间 希望有人能提供帮助 我有一个使用服务来获取数据的组件 我正在尝试向其添加单元测试 我的问题是测试总是失败并显示 错误 没有 Http 提供程序 这是我的代码 Service import Injectable
  • Spring-data-rest 和 Spring-jpa [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 数据休息和 jpa 我使用 Embe
  • 使用 Python/Pandas 提取时间序列中的工作日

    我正在处理时间序列中的高频数据我想从我的数据中获取所有工作日 我的数据观测值以秒为单位分隔 因此每天有 86400 秒 并且我的数据集分布在 31 天中 因此有 2 678 400 个观测值 这是我的数据 部分 In 1 ts Out 1
  • 删除小数点后的尾随零雪花

    我一直在尝试从小数点后的数字列中删除尾随零 例如 0 978219150000 gt 0 97821915 0 650502591918 gt 0 650502591918 0 975479450000 gt 0 97547945 数据类型
  • Django - 将结果查询为“关联”字典?

    我想知道 Django 中是否有任何方便的助手可以将查询结果返回为更 可用 的格式 这样我就不必在我的视图中迭代它们 我有一个这样的查询 self filter key in keys values key value 我想要的最终结果是一
  • C++ 数据文件、数组和计算分配

    我是 C 新手 我的一项作业遇到了问题 目标是从如下所示的数据文件加载数据 item number date quantity cost per each 1000 6 1 2018 2 2 18 1001 6 2 2018 3 4 44
  • 如何重命名对象中的字段

    我正在使用 Angular 5 我有 假后端 项目数组 我的情况 我正在等待以下对象结构 id number title string 但是 后端向我发送了错误的结构 id number name string 我需要从后端接收数据 如果字
  • 无法从一组表达式创建复合表达式>

    答案往下看 我正在尝试构建一个结合了 Func
  • pdo 相对于 mysql_* 或 mysqli_* 的优点[重复]

    这个问题在这里已经有答案了 我注意到很多人正在使用或迁移到pdo 我以前从未使用过它 我真的很不愿意改变它 无论如何我仍然没有改变 但我想从使用pdo的人那里知道每天为什么我应该改变这一点 我的意思是它比 mysql 或 mysqli 有什
  • 如何静默来自 GCC 的 #pragma 消息

    我没兴趣看 pragma message适合我的构建 它只会使输出变得混乱 我顺便告诉 Clang Wno pragma messages 但是 GCC 不理解该标志 并且我找不到任何类似的标志 我如何要求 GCC 忽略 pragma me
  • 在另一个控件之前插入一个控件

    如何在 ASP NET 中动态地将一个控件插入到另一个控件之前 假设 control1 是网页上的某个控件 我想在 control1 之前动态创建并插入一个表 e g table1 new Table table1 ID Table1 但接
  • Opencart 系统/修改文件夹如何运作?

    我对 OC 2 X 很陌生 当我对网站进行更改时 我注意到它们没有出现 当我在系统 修改文件夹中进行更改时 就会出现更改 我认为这个文件夹是新的 与 vqmod 无关 我认为这是一个基本上优先于核心文件的文件 不幸的是 当我安装插件时 它也
  • Olve Maudal 的 C++ 测验背后的解释(别名模板)

    以下代码来自http www pvv org oma PubQuiz ACCU Apr2014 pdf http www pvv org oma PubQuiz ACCU Apr2014 pdf 6 第 34 页的解决方案 目标是猜测以下的
  • 抛出新的异常与 Catch 块

    以下之间是否存在行为差异 if s null s is a string throw new NullReferenceException And try Console Writeline s catch NullReferenceExc
  • HOGDescriptor 带有视频来识别物体

    不幸的是 我既是 python 又是 openCV 初学者 所以如果问题很愚蠢 请原谅我 我正在尝试使用cv2 HOGDescriptor识别视频中的物体 我关心的是逐帧识别 即没有跟踪等 这是我正在做的事情 我读了视频 目前是 mpg 通