繁体   English   中英

像素坐标到3D线(opencv)

[英]Pixel coordinates to 3D line (opencv)

我在屏幕上显示的图像通过cvInitUndistortMap和cvRemap(已完成相机校准)未失真,用户点击图像中的某个功能。 所以我有特征的(u,v)像素坐标,我也有内在矩阵和失真矩阵。

我正在寻找的是相机/真实世界坐标中的3D线的等式,用户点击的特征必须在该等式上。 我已经在摄像机的图像平面和特征之间有垂直距离,所以我可以将它与上述方程式结合起来,给出空间特征的(X,Y,Z)坐标。

听起来很简单(反向内在矩阵或什么?)但我无法在任何地方找到逐步说明。 首选C ++或C#代码。

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

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

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

cx,cy,fx,fy是来自相机矩阵的参数。 方程式在“Learning OpenCv”一书中有解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM