Алгоритм измерения евклидова расстояния между пикселями изображения
У меня есть несколько изображений, где я знаю фокусное расстояние, количество пикселей, Размеры и положение (по GPS). Они все в высоком наклонном порядке, снятые на земле с помощью коммерчески доступных камер.
Каков наилучший метод вычисления евклидовых расстояний между определенными пикселями в изображении? Если это действительно возможно.
1 ответ:
Предполагая, что вы ищете не полное моделирование ландшафта, а простое приближение, тогда это не должно быть слишком сложно. В основном первое приближение вашего изображения сводится к камере с известным фокусным расстоянием, смотрящей вдоль плоскости. Таким образом, мы можем создать модель системы в 3D очень легко - это не слишком далеко от классического наблюдателя, просматривающего демонстрационную таблицу.
Обычно наша графическая задача состоит в том, чтобы спроецировать 3D-модель в 2D, чтобы мы могли визуализировать изображение. Хотя большинство программ в настоящее время используют API (например, OpenGL) для этого уравнения не особенно сложны или трудны для понимания. Я написал свой первый код, используя примеры из 3D Graphics в Pascal , который является хорошим ясным трактатом, но будет много других подобных источников (хотя, вероятно, меньше в настоящее время, поскольку аппаратный API неизменно используется).
Что полезно в этом, так это то, что уравнения проекции коммутативны, в том смысле, что если у вас есть точка на изображении и модель вы можете запустить данные обратно через проекцию, чтобы получить исходные 3D координаты - что вы и хотите сделать.
Итак, несколько подходов предлагают: либо написать код, чтобы сделать это непосредственно, либо, возможно, более просто использовать OpenGL (я бы рекомендовал GLUT toolkit для этого). Если ваша математика хороша и манипулирование матрицами не вызывает у вас никаких проблем, то я бы рекомендовал первое, так как решение будет более жестким и интересным - в противном случае возьмите Подход OpenGL. Вы, вероятно, захотите превратить приближение камеры / плоскости в камеру/сферу довольно рано.
Если этого недостаточно для ваших нужд, то теоретически можно перейти к фактическому моделированию ландшафта. ДанныеSRTM находятся в свободном доступе (хотя и не в самой дружественной форме), поэтому в сочетании с вашим положением GPS можно создать сетчатую модель, в которой вы применяете те же алгоритмы, что и выше.