gpt4 book ai didi

c# - 像素坐标到 3D 线(opencv)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:49:08 27 4
gpt4 key购买 nike

我在屏幕上显示了一张图像,该图像通过 cvInitUndistortMap 和 cvRemap(已完成相机校准)未失真,用户单击图像中的一个特征。所以我有特征的 (u,v) 像素坐标,还有本征矩阵和畸变矩阵。

我正在寻找的是相机/真实世界坐标中的 3D 线方程,用户点击的要素必须位于该坐标上。我已经知道相机的图像平面与特征之间的垂直距离,因此我可以将其与上述方程结合,得到特征在空间中的 (X,Y,Z) 坐标。

听起来很简单(逆固有矩阵之类的?)但我无法在任何地方找到分步说明。首选 C++ 或 C# 代码。

最佳答案

这是一个有点老的问题,但对某些人来说仍然有用。所有的线都经过点 (0,0,0),所以:

line.x0 = 0;线.y0 = 0;line.z0 = 0;

方向 vector 如下:line.A = (u/fx) - (cx/fx);line.B = (v/fy) - (cy/fy);行.C = 1;

cx,cy,fx,fy 是相机矩阵的参数。《学习 OpenCv》一书中解释了方程。

关于c# - 像素坐标到 3D 线(opencv),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com