python - 使用两个网络摄像头进行 3D 对象跟踪

标签 python opencv 3d

我在肘部使用乒乓球。我可以在 python 中使用 OpenCV 跟踪它并在每一帧中提取 x 和 y,但问题是;我也需要z。所以我在冠状面上添加了第二个凸轮。

如果你不熟悉这里是图片:

enter image description here

我的第一个摄像头是在矢状面上。我不知道如何同步它们。有什么想法吗?

最佳答案

几种解决方案:

  • 将您的网络摄像头放置在 2 个垂直平面(您所做的)并根据 (x,y,0) 手动测量它们之间的距离。

例如,您的第一个网络摄像头位于 (0,0,0),第二个网络摄像头位于 (15,16,0)。从那里您可以轻松推断出图像之间的转换,请参见 this wiki

它是一个 90° 的旋转 + 一个平移,所以如果你沿着 z 轴旋转,变换矩阵将是:

0    1   15

-1   0   16

0    0   1

0    -1   15

1    0    16

0    0    1

取决于旋转是 + 还是 - 90°。如果您有疑问,请检查您的数据。

  • 另一个解决方案:定位您的两个网络摄像头,然后在拍摄区域放置引用点(其中 4 个应该是好的,定义笛卡尔坐标系),并决定它们将定义您的引用系。然后你转换来自两个网络摄像头的输入以将它们的坐标放入该帧中。我想你可以通过使用我给你的链接中的一些数学并在 OpenCV 中检查你的结果来做到这一点。

关于python - 使用两个网络摄像头进行 3D 对象跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432430/

相关文章:

python - 无法将输出写入 csv bs4 python

Python:识别一维分布中的起伏模式

python - 尝试在 OpenCV 中使用 Houghcircles 检测圆

ios - 为什么空 SceneKit 场景具有高多边形数?

javascript - 多种形状的 3D 网格

python - 在 python 中循环一个正则表达式替换一个字符串——缺少一些明显的东西

python - pip3 安装 couchdbkit 失败,错误为 "Command "python setup.py Egg_info”

c++ - OpenCV 函数合并 Mat 的黑色/透明像素除外

html - 有人可以帮我解决这个 3D 盒子上的 transform-origin 属性吗?

python - Django/Python 应用程序的数据库引擎选择