Python 如何确定具有坐标对的变换矩阵?

Python 如何确定具有坐标对的变换矩阵?,python,numpy,opencv,linear-algebra,Python,Numpy,Opencv,Linear Algebra,所以。我有4组坐标对。一个在世界坐标系中,另一个在摄影机坐标系中 +-----+-----+-----+-----+-----+ | Xw | Yw | Zw | Xc | Yc | +-----+-----+-----+-----+-----+ | 0,0 | 0,0 | 0,0 | 582 | 344 | | 7,0 | 0,0 | 0,0 | 834 | 338 | | 0,0 | 5,0 | 0,0 | 586 | 529 | | 7,0 | 5,0 | 0,0 | 841 |

所以。我有4组坐标对。一个在世界坐标系中,另一个在摄影机坐标系中

+-----+-----+-----+-----+-----+
| Xw  | Yw  | Zw  | Xc  | Yc  |
+-----+-----+-----+-----+-----+
| 0,0 | 0,0 | 0,0 | 582 | 344 |
| 7,0 | 0,0 | 0,0 | 834 | 338 |
| 0,0 | 5,0 | 0,0 | 586 | 529 |
| 7,0 | 5,0 | 0,0 | 841 | 522 |
+-----+-----+-----+-----+-----+
+-------+-------+-------+-------+
| Xc2   | Yc2   | Xс1   | Yс1   |
+-------+-------+-------+-------+
|  1250 |   433 |   209 |   771 |
|   528 |   452 |  1277 |   730 |
+-------+-------+-------+-------+
# `Xc1` and `Yc1` just estimated for example - need to be calculated
Xw,Yw,Zw
-世界坐标
Xc,Yc
-摄像机坐标
Zw
-始终为0

现在我需要为它计算一个变换矩阵。所以有了Xw和Yw,我可以生产Xc,Yc

我还有照相机2。然后,使用摄像机2的一些点位置,我需要计算第一个摄像机坐标中的相同点

+-----+-----+-----+-----+-----+
| Xw  | Yw  | Zw  | Xc  | Yc  |
+-----+-----+-----+-----+-----+
| 0,0 | 0,0 | 0,0 | 582 | 344 |
| 7,0 | 0,0 | 0,0 | 834 | 338 |
| 0,0 | 5,0 | 0,0 | 586 | 529 |
| 7,0 | 5,0 | 0,0 | 841 | 522 |
+-----+-----+-----+-----+-----+
+-------+-------+-------+-------+
| Xc2   | Yc2   | Xс1   | Yс1   |
+-------+-------+-------+-------+
|  1250 |   433 |   209 |   771 |
|   528 |   452 |  1277 |   730 |
+-------+-------+-------+-------+
# `Xc1` and `Yc1` just estimated for example - need to be calculated
我们还有来自OpenCV的camera 2校准数据

谢谢

另外,如果您能描述一下如何使用python+numpy来实现这一点,我将不胜感激


aX+bY+c,那么我们可以使用函数进行最小二乘拟合

world=numpy.array([
[0,0,0],
[7,0,0],
[0,5,0],
[7,4,0]])
摄影机=numpy.array([
[582,344],
[834,338],
[586,529],
[841,522]])
#失去Z轴
世界=世界[:,0:2]
#做一个方阵
A=numpy.vstack([world.T,numpy.one(4)]).T
#执行最小二乘法
x、 res,rank,s=numpy.linalg.lstsq(A,摄像机,rcond=None)
#测试结果

打印(numpy.dot(A,x))
堆栈溢出不是代码编写服务。我们总是乐于帮助和支持新的编码人员,但您需要首先帮助自己。:-)您应该尝试自己编写代码。请阅读。只是一些简单的例子或公式就足够了)简单的例子?是的,这就是MCVE的目标。公式?不太清楚。为什么你们的世界坐标是成对的?例如,有两个X世界值但只有一个X cam值意味着什么?@PaulPanzer这是一些板(四边形)的对应坐标,非常感谢!也许这就是我需要的:)