通过已知摄像机视场的图像计算俯视对象位置

2024-04-25 21:00:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何计算一个物体(或像素)的位置,这个物体(或像素)周围有多个摄像头

假设我有3个摄像头,位于一个(等边)三角形中。视野(视角)是已知的,并且对于每个摄影机都是相同的。每个摄像头之间的距离也是已知的。因此,情况如下:

enter image description hereCam1Cam2Cam3

视场为60度,相机图像为1920*1080像素。如何在topview中获得杆的正确X和Y坐标?我尝试了以下方法:

  • 图像的每个像素表示x度:

    60/math.sqrt(1920^2+1080^2)=0.0272367度

  • 测量从每个图像的中心到其接触地面的极点的距离。或者我应该只在x轴上从中心到极点进行测量

  • 将每个图像中的这些数字乘以0.0272367,并根据这些角度用线条绘制一个新图像(带PIL)。三条线交叉的地方应该有一个对象

然而,这并不是给我正确的位置,不是所有三条线都在同一点交叉。基于这些信息,实现这一目标的最佳方式是什么

我的目标是制作一张topview图像,类似于:

topview


Tags: 图像距离目标情况像素中心交叉物体