从图像中查找车辆的速度

2023-11-24

我正在做一个项目,从图像中查找车辆的速度。我们正在车内拍摄这些图像。我们将标记第一张图像中的一些对象作为参考。利用下一张图像中同一物体的属性,我们必须计算移动车辆的速度。有人能帮我一下吗???我正在使用 python opencv。我已经成功,直到使用光流法找到第二张图像中的标记像素。任何人都可以帮我完成剩下的事情吗?


知道采集频率后,您现在必须找到标记的连续位置之间的距离。

为了找到这个距离,我建议你估计pose每个图像的标记。宽松地说,“位姿”是表示物体相对于相机的坐标的变换矩阵。一旦获得这些连续的坐标,您就可以计算距离,然后计算速度。

位姿估计是计算物体位置和方向的过程known相对于 2D 相机的 3D 对象。生成的姿势是描述相机参考中的对象参考的变换矩阵。

Pose description

OpenCV实现了姿态估计算法:Posit。医生说:

给定一些 3D 点(在对象中 坐标系)的对象,在 至少四个非共面点,它们的 相应的二维投影 图像,以及焦距 相机,该算法能够 估计物体的姿态。

这意味着:

  1. 您必须知道相机的焦距
  2. 您必须了解标记的几何形状
  3. 您必须能够匹配 2D 图像中标记的四个已知点

您可能需要使用以下方法计算相机的焦距校准程序由 OpenCV 提供。我认为您已经掌握了另外两个所需的数据。

Edit:

// Algorithm example

MarkerCoords = {Four coordinates of know 3D points}

I1 = take 1st image
F1 = focal(I1)
MarkerPixels1 = {Matching pixels in I1}
Pose1 = posit(MarkerCoords, MarkerPixels1, F1)

I2 = take 2nd image
F2 = focal(I2)
MarkerPixels2 = {Matching pixels in I2 by optical flow}
Pose2 = posit(MarkerCoords, MarkerPixels2, F2)

o1 = origin_of_camera * Pose1 // Origin of camera is
o2 = origin_of_camera * Pose2 // typically [0,0,0]
dist = euclidean_distance(o1, o2)
speed = dist/frequency

Edit 2:(评论回复)

“获取频率是多少?”

计算车辆的速度相当于计算标记的速度。 (在第一种情况下,参照物是附着在地球上的标记,在第二种情况下,参照物是附着在车辆上的摄像头。)这由以下等式表示:

speed = D/(t2-t1)

With:

  • D距离[o1 o2]
  • o1标记当时的位置t1
  • o2标记当时的位置t2

您可以通过提取来检索经过的时间t1 and t2来自照片的元数据,或来自采集频率您的成像设备:t2-t1 = T = 1/F.

“标记像海报这样的简单东西不是更好吗?如果这样做,我们不能将其视为二维对象吗?”

这对于 Posit 算法(或据我所知任何其他姿态估计算法)来说是不可能的:它需要四个不共面点。这意味着您不能选择嵌入 3D 空间中的 2D 对象,您必须选择具有一定深度的对象。

另一方面,您可以使用really简单的形状,只要它是一个体积。 (例如立方体。)

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

从图像中查找车辆的速度 的相关文章

随机推荐

  • 循环 PHP 嵌套数组 - 将值提取到刀片视图中 (Laravel)

    我知道关于这个主题有很多问题 但没有一个完全解决这个问题 据我所知 我在 Laravel 项目中有一个 PHP 数组 仅供参考 是通过 Guzzle 响应返回的 PHP 数组 users array 2 error gt bool fals
  • ApplicationException 或创建自定义异常?

    在我的文件存储库中 当InsertFile 方法称为 当上传文件大小超过限制时 当超出存储容量时 目前我只是抛出一个ApplicationException与相关消息 public void InsertFile HttpPostedFil
  • 尽管已设置操作,但单击分段时仍显示 NSSegmentedControl 菜单

    我的 UI 上有一个带有 4 个按钮的 NSSegmentedControl 该控件连接到一个方法 该方法将根据单击的段调用不同的方法 IBAction performActionFromClick id sender NSInteger
  • 使用 AsyncTask 下载文件

    我正在尝试使用 asyncTask 下载文件 但无法正常工作 没有错误消息或什么也没有 只是不要下载文件 我尝试了所有方法 但似乎暂时没有输入 任何人都知道可以做什么是问题所在吗 我在手机上测试过 网址也可以 class DownloadF
  • 在 Matlab 中禁用绘图

    我有一些用 Matlab 编写的程序 由于某些原因我需要运行几次 调试 使用不同的输入进行测试等 但是 程序及其各种功能绘制了很多图表 因此每次运行程序时 我都必须等待所有图表显示出来 这是非常烦人且耗时的 尤其是当您使用小型笔记本电脑 程
  • ag-grid 在单元格渲染器之上渲染

    我已经尝试了我所知道的一切 让我的自定义下拉单元格渲染器显示为 agGrid 示例中最上面的 div 我玩过 z index 定位等 但没有运气 唯一做的事情就是转到其中一个有问题的行并取消选择该行的转换 但随后该行就消失了 欢迎任何想法
  • SVG 九切片缩放

    怎样才能获得九片缩放在 SVG 中 具体来说 我正在寻找一种方法来定义 SVG 对象 使其在调整大小时表现得像九切片对象 某些元素保持其尺寸 而其他元素随容器缩放 如果您打算将其应用于 svg 那么CSS3 边框和背景如果您引用 svg s
  • C# - 将文本文件加载为类

    有没有办法将 txt 文件作为类加载 然后我的主程序可以从中调用函数 我基本上试图向我的简单应用程序添加 mod 支持 用户可以从每个文件中选择选项 该文件遵循类似 但不相同 的格式 带有一堆在主程序中调用的空位 函数 我怎样才能做到这一点
  • Keras 用于多任务学习神经网络的顺序 API 与函数式 API

    我想为多任务深度学习任务设计一个神经网络 在 Keras API 中 我们可以使用 顺序 或 函数 方法来构建这样的神经网络 下面我提供了用于构建网络的代码 使用两种方法构建具有两个输出的网络 顺序 seq model Sequential
  • Android任务和进程、SingleTask和SingleInstance

    我已经阅读了 Google Android 开发者页面 但是任务的概念 http developer android com guide components tasks and back stack html 真让我困惑 当我读到 Sin
  • 如何使用 javascript 在 html 中截取屏幕截图?

    我是 html 和 javascript 的新手 我正在尝试截取我的 html 页面的屏幕截图并将其另存为jpg or png file Here is my html image 我想通过拖放来截取右侧的屏幕截图 灰色 divs按图像右上
  • CoreData:错误:(14) 数据库 I/O 错误

    在 XCode 中编译并运行项目时使用Core Data我收到一个以前从未见过的错误 2013 09 12 16 59 10 156 myapp 57811 70b CoreData error 14 I O error for datab
  • 使用反应式扩展进行数据库轮询

    我必须及时查询数据库以了解遗留系统的状态 我想过将查询包装在Observable 但我不知道正确的方法 基本上 每 5 秒就会出现相同的查询 但我担心我将不得不面对这些问题 如果查询执行需要 10 秒怎么办 我不想 如果前一个查询仍在处理中
  • 与 javascript 或 jquery 中的 .some() 方法等效吗?

    正在寻找 与 javascript 中的某些方法等效 和 如果在数组中则仅返回一个值 但只看到了确定变量类型的方式的答案 或者有太多不必要的答案 我绕过 html 中的所有输入 我想要这样的东西 goodsFilter find input
  • 使用 Javascript 读出 KML 文件

    我有一个包含城市区的 KML 文件 想用 Javascript 读出它 以便在地图上显示这些叠加层 多边形 Google Maps API v 3 此外 我想从 KML 文件中保存 GeoPoints 和对象中的区域名称 但我不知道该怎么做
  • MVC Html.ActionLink 从 URL 中删除空查询字符串参数

    我正在使用Html ActionLink string linkText string actionName object routeValues 重载以将一些参数发送到操作方法 有时我需要传递一个空参数值 例如 item1 item2 v
  • 如何从reactjs组件访问“key”属性

    我怎样才能访问key组件的属性 我以为它会在 this props 中 但事实并非如此 e g
  • 如何使用 ConstraintLayout 设置 DimensionRatio 的 maxHeight?

    我正在尝试显示以父级为中心的图像 尺寸比为 1220 1000 最大高度为 300dp 即使在大屏幕下也能保持图像较小
  • 在 C# 中哪里可以找到机器 epsilon?

    机器 epsilon 被规范地定义为与 1 相加得到的结果与 1 不同的最小数字 有一个Double Epsilon但这个名字很容易让人误解 它是最小的 非规范化的 Double值可表示 因此对于任何类型的数字编程都是无用的 我想得到tru
  • 从图像中查找车辆的速度

    我正在做一个项目 从图像中查找车辆的速度 我们正在车内拍摄这些图像 我们将标记第一张图像中的一些对象作为参考 利用下一张图像中同一物体的属性 我们必须计算移动车辆的速度 有人能帮我一下吗 我正在使用 python opencv 我已经成功