Цель состоит в том, чтобы получить вид с высоты птичьего полета из изображений KITTI (набор данных), и у меня есть матрица проекции (3x4).
Существует много способов генерирования матриц преобразования. Для Bird's Eye View я прочитал некоторые математические выражения, такие как:
H12 = H2 * H1-1 = A R A-1 = P * A-1 в OpenCV- Проекция, матрица гомографии и вид с высоты птичьего полета
и x = Pi * Tr * X в матрице проекции камеры набора данных Kitti
, но ни один из этих вариантов не сработалдля моей цели.
КОД ПИТОНА
импорт numpy как импорт np cv2
image = cv2.imread ('Data / RGB / 000007.png')
maxHeight, maxWidth = image.shape [: 2]
M имеет размеры 3x4
M = np.array (([721,5377, 0,0, 609,5593, 44,85728], [0,0, 721,5377], 72.854, 0.2163791], [0.0, 0.0, 1.0, .002745884]))
Здесь необходима M-матрица с размерами 3x3
warped = cv2.warpPerspective (image, M, (maxWidth, maxHeight))
показать исходные и деформированные изображения
cv2.imshow ("Исходный", изображение)
cv2.imshow ("Деформированный", деформированный)
cv2.waitKey (0)
Мне нужно знать, как сделатьnage Матрица проекции для получения вида с высоты птичьего полета.
Пока все, что я пробовал, выбрасывает мне искаженные изображения, даже без информации, даже близкой к тому, что мне нужно.
Этопример изображения из базы данных KITTI.
Это другой пример изображения из базы данных KITTI.
Слева показаны изображения, обнаруживающие автомобили. в 3D (вверху) и 2D (внизу). Справа вид с высоты птичьего полета, который я хочу получить. Поэтому мне нужно получить матрицу преобразования для преобразования координат ячеек, которые разграничивают автомобили.