如何解决将2D坐标转换为另一个2D坐标
我正在研究用于从CCTV摄像机跟踪人员的程序,其中我从CCTV摄像机输入视频,并且我拥有包含所有CCTV摄像机的建筑物的2D顶视图图像。当我在场景中检测到人时,我在人周围绘制了边界框,并且该边界框的中心点在图像坐标系中表示为x,y,我要做的就是将该边界框的中心点转换为另一个2D点在建筑图像坐标系中。谁能给我一个提示或想法???
这里是来自cctv摄像机的图像,以及建筑物的图像,其中cctv图像中的红线是我所拥有的线,建筑物图像中的红线是我要获取的线。
CCTV摄像机图像:
建筑物图片:
解决方法
因此,因为相机将3D世界投影到2D,然后又想从另一个2D角度获取它,则可能会出现错误。例如,该人的矩形的中心点可能离他们站立的地面约2.7英尺,或者如果该人不在的话可能是地板。那将是您的鸟瞰图上两个非常不同的地方。
但是,由于这是用于跟踪人员,因此可以假设每个人的高度大致相同,并假设矩形的中心始终离地面约2.7英尺。如果您做出此假设,那么问题将更容易解决。
基于这种假设,您可以做的是校准阶段。因此,您可以让此人站在走廊的尽头,查看摄像头上的坐标和地图上的坐标。然后让他们走在镜头前,查看镜头上的坐标和地图上的坐标。使用这两个点,您可以进行线性插值,以找出有人在走廊中基于摄像头的位置。您需要对拥有的每台摄像机进行此校准,但是它应该给出相当准确的结果。
让(x1,y1)
是大厅尽头的摄像机坐标,(X1,Y1)
是大厅尽头的地图坐标。然后,让(x2,y2)
是靠近相机的相机坐标,(X2,Y2)
则是靠近相机的地图坐标。因此,找到一个线性A
这样的
A(x1,y1) = (X1,Y1)
和A(x2,y2) = (X2,Y2)
您可以将其作为矩阵方程式求解(不确定如何在此处键入数学运算符)
A|x1 x2| = |X1 X2|
|y1 y2| |Y1 Y2|
A = |X1 X2||x1 x2|^(-1)
|Y1 Y2||y1 y2|
这应该为您提供一种不错的方式,将相机上的坐标转换为地图上的坐标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。