首页 > 解决方案 > 使用单应投影计算轨迹

问题描述

我有单应矩阵,并使用该单应矩阵投影了一个场景。现在我有 2D 轨迹,我想将它们转换为投影场景。

我正在尝试在一个图像中进行对象检测,并对该图像的轨迹进行单应性计算,我不知道如何将检测到的第一张图像的边界框中心的坐标转换为转换后的单应性坐标图像

 p = np.array(((trk[1] + trk[3]) / 2,  (trk[0] + trk[2]) / 2, 1)).reshape((3, 1))
    temp_p = H.dot(p)
    sum = np.sum(temp_p, 1)
    px = int(round(sum[0] / sum[2]))
    py = int(round(sum[1] / sum[2]))

    point_lists[trk[4]].append((px, py))
    x = [i[0] for i in point_lists[trk[4]]]
    y = [i[1] for i in point_lists[trk[4]]]
    p = np.polyfit(x, y, deg=1)
    y = p[1] + p[0] * np.array(x)
    fitted = list(zip(x, y))
    cv2.polylines(dst, np.int32([fitted]), False, color=(255, 0, 0))

在此处输入图像描述

在此处输入图像描述

标签: pythonopencvcomputer-visionhomography

解决方案


推荐阅读