我正在使用我的Kinect进行一些2D 3D图像处理.这是我的问题:我的3D(x,y,z)中的点位于一个平面上.我也知道RGB图像(x,y)上的点的坐标.现在我想估计一个2D-3D单应矩阵来估计(x1,y1,z1)坐标到随机(x1,y1)点.我认为这是可能的,但我不知道从哪里开始.
谢谢!
我已成功计算了两个摄像头的固有摄像机矩阵的旋转,平移.我还从左右相机中得到了校正后的图像.现在,我想知道如何计算一个点的3D坐标,只是图像中的一个点.在这里,请看绿点.我看看这个等式,但它需要基线,我不知道如何计算.你能告诉我用给定信息(R,T和内在矩阵)计算绿点的三维坐标的过程吗?
仅供参考1.我还有一个基本矩阵和基本矩阵,以防我们需要它们.2.原始图像尺寸为960 x 720.整流图像为925 x 669 3.左图像的绿点:(562,185),右图:(542,185)
我有用于计算相机矩阵和修复图像失真的 OpenCV 代码。
这是 OpenCV 和 C++ 中的代码部分。
//default capture width and height
const int FRAME_WIDTH = 1288;
const int FRAME_HEIGHT = 964;
//max number of objects to be detected in frame
const int MAX_NUM_OBJECTS=50;
//minimum and maximum object area
const int MIN_OBJECT_AREA = 2*2;
const int MAX_OBJECT_AREA = FRAME_HEIGHT*FRAME_WIDTH/1.5;
Mat DistortedImg; //storage for copy of the image raw
Mat UndistortedImg; //
double cameraM[3][3] = {{1103.732864, 0.000000, 675.056365}, {0.000000, 1100.058630, 497.063376}, {0, 0, 1}}; //camera matrix to be edited
Mat …Run Code Online (Sandbox Code Playgroud)