Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 类似于Hawkeye的三维三角剖分_Opencv_Image Processing_3d_Triangulation_Stereo 3d - Fatal编程技术网

Opencv 类似于Hawkeye的三维三角剖分

Opencv 类似于Hawkeye的三维三角剖分,opencv,image-processing,3d,triangulation,stereo-3d,Opencv,Image Processing,3d,Triangulation,Stereo 3d,如果以前有人问过这个问题,请原谅,但我想知道从哪里开始实现立体视觉,将二维坐标转换为三维坐标。我试着在3D中像鹰眼一样追踪球。我有两个高速摄像机,我可以在每个摄像机中检测到球。我知道我需要校准相机,同步它们,运行一些算法来消除镜头失真等。但是,我不知道下一步是什么,将2D坐标转换为世界3D坐标 有谁知道如何进行三角测量,谁能帮我?此外,摄像机不会彼此平行,而是以不同的角度,因此,不知何故,我需要知道每个摄像机的三维坐标位置 对此,我们将不胜感激 非常感谢我最近找到了。它似乎是有关opencv背后

如果以前有人问过这个问题,请原谅,但我想知道从哪里开始实现立体视觉,将二维坐标转换为三维坐标。我试着在3D中像鹰眼一样追踪球。我有两个高速摄像机,我可以在每个摄像机中检测到球。我知道我需要校准相机,同步它们,运行一些算法来消除镜头失真等。但是,我不知道下一步是什么,将2D坐标转换为世界3D坐标

有谁知道如何进行三角测量,谁能帮我?此外,摄像机不会彼此平行,而是以不同的角度,因此,不知何故,我需要知道每个摄像机的三维坐标位置

对此,我们将不胜感激

非常感谢

我最近找到了。它似乎是有关opencv背后的理论和实现的一个很好的知识来源。尽管书中的API已经过时,但通用机制仍然是最新的。总之,他们建议:

消除失真如果你有校准过的相机,你已经可以这样做了 调整摄像机之间的距离和角度 在两幅图像上找到相同的特征 考虑到物体在图像上的位置,通过简单的计算来估计深度。
要将两个已校准摄影机的2D转换为3D,请使用以下公式: z=焦点*基线/视差 x=z*u/焦点 y=z*v/焦点

在哪里 焦距-相机的焦距(以像素为单位) u=列Cx,Cx~image_width/2,但校准将为您提供更精确的值 v=-行+Y,Y~图像高度/2 基线-摄像机之间的水平距离 视差-两幅图像中球的水平位置的差异


严格地说,你只需要对密集立体声进行校正。对于稀疏立体声,您只需要校准

看看这里的一个小介绍:它主要指的是激光扫描,但三角测量的概念是相同的。。。您可能还需要检查立体视觉资源,因为您正在使用两台摄像机。您的问题很不清楚。你是在寻找三角测量过程背后的理论,还是想将其应用到OpenCV中?我想从实际角度了解使用OpenCV或任何其他代码或库,而不仅仅是理论上,如何使用简单的双摄像头设置进行三角测量以找到球的三维位置。太好了,谢谢。在一个小背景下,我试图制作一个系统,可以检测足球越过线。如果我把两个摄像机对准球门,它们必须平行吗?或者它们之间可以有任何角度/距离吗?另外,我如何准确地找出三角测量过程中需要的摄像机的位置?你不需要平行摄像机,但你可能需要解一个更复杂的方程组。与距离相比,相机间隔应足够大,因此,例如,如果相机平行且d=f*B/z,则必须确保在目标所在的距离处有多个视差像素。至于相机校准-你需要一个内在的和外在的参数来解决你的相机三角测量问题。这意味着,当你的图像中有4个方程2个摄像机x 2d坐标时,你可以为一个3D点解3个未知的针孔摄像机方程。如上所述,你可以将投影矩阵中的内在参数和外在参数结合起来,并使用三角形点来解算。学习OpenCV的书将给出@Vlad的答案。你可以在这里找到整本书: