将点从透视图图像转换为单应图像

时间:2019-03-14 09:59:25

标签: python opencv computer-vision homography

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

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

  for trk in car_detections:
        trk = trk.astype(np.int32)

        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]))
        cv2.circle(img, center = (px, py), radius= 10, color=(255,0,0))

        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(img, np.int32([fitted]), False, color=(255, 0, 0))

0 个答案:

没有答案
相关问题