Я хочу вычислить матричное преобразование 3x4 в однородных координатах, которое преобразует точки трехмерного мира в точки двумерного изображения. Моя проблема заключается в том, что в документации и руководствах функции getPerspectiveTransformation матрицы по умолчанию либо 3x3 для перспективы, либо 2x3 для аффинных преобразований.
Есть ли встроенная функция для вычисления матрицы 3х4?
Я прочитал учебники, некоторые книги по компьютерному зрению и знаю, что матрица, которая преобразует 3d в 2d, - это 3x4. Чтобы получить эту матрицу, необходимо ввести 6 баллов, и в примерах, которые я нашел для opencv, они используют 4, так что я думаю, что это преобразование 2d в 2d, а не то, что мне нужно.
cv2.getPerspectiveTransform
cv2.getAffineTransform
Я использовал эти функции, но они не работали, я использовал функцию cv2.circle, чтобы нарисовать прямую линию на изображении, и я получил изогнутые линии. Очевидно, я не использовал правильное матричное преобразование.