我在肘部使用乒乓球。我可以在 python 中使用 OpenCV 跟踪它并在每一帧中提取 x 和 y,但问题是;我也需要z。所以我在冠状面上添加了第二个凸轮。
如果你不熟悉这里是图片:
我的第一个摄像头是在矢状面上。我不知道如何同步它们。有什么想法吗?
最佳答案
几种解决方案:
- 将您的网络摄像头放置在 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/