Я использую OpenCV и python.
Давайте предположим систему координат, где ось x направо, y вверх и z вверх.У меня есть камера в заданной позиции в координатах UTM (x, y) (+ высота (z)).Камера смотрит на север («вдоль» оси y) и поворачивается вокруг оси x на альфа-градусы (вниз, к поверхности / земле).
Я также знаю фокусное расстояние, ширину пикселя, изображениеshape - ширина, высота в пикселях.Я смог вычислить реальную границу захваченного изображения.
Так что теперь у меня есть прямоугольное изображение с img_w times img_h pixel.Но полученное изображение имеет перспективное преобразование.Я смог определить реальные углы изображения.Я думаю, очень неуклюже, но, по крайней мере, я сделал это самостоятельно.
Изображение имеет углы изображения 0,0 w, 0 w, h 0, h.Координаты реального мира, однако, не являются прямоугольными из-за трансформации перспективы и, как пример:
Теперь мой вопрос.Учитывая координаты реального мира в UTM и высоту, как рассчитать координаты пикселя изображения с учетом информации выше?