Замеры зданий с помощью телефона на Андроиде

Обнаружил приложение для Андроида, позволяющее проводить замеры зданий и других объектов на местности с помощью видеокамеры телефона.

Принцип дейстия, думаю, понятен из рисунка:

Попробовал, точность 5-10 процентов. Буду дальше тестировать.

Это приложение можно также использовать вместе с инструментом восстановления контура здания по фотографии в программе Google Skecthup для задания правильного масштаба (см. OSM-плагин для Google Sketchup). Достаточно указать любой линейный размер в востанавливаемой модели, и модель будет автоматически приведена к нужному масштабу.

Стоит приложение 1 доллар.
Страница на market.android.com: Smart Measure Pro

Есть также бесплатная версия: Smart Measure

Не доверяю я этой софтине :slight_smile:
Кстати, есть бесплатная версия

Бесплатная только для измерения высоты. Горизонтальный размер бесплатная версия не измеряет.

Вообще-то для измерения расстояния и высоты :wink:

Да, бесплатная версия измеряет высоты и расстояние до объекты. Бесплатная версия не измеряет длину произвольного горизонтального отрезка.

j-wills, доверяешь, не доверяешь - это субъективно. Лучше скачать и рассказать о полученной точности измерений.

Я на улице из-за дождливой погоды еще не пробовал. А в помещении точность была 5-10%

По высоте и углу наклона телефона определяется расстояние в предположении, что объект и человек находятся на одной высоте… И это расстояние используется для нахождения других линейных размеров по угловым…

Ошибка будет сильно зависеть от разницы высоты объекта и ног человека (которая д.б. много меньше и без того небольшой высоты 1.5м), и от точности акселерометра (д.б. много лучше 1градуса для удалённых на 100метров объектов). Так что даже если Вы у себя в квартире в вертикально стоящем доме измерите погрешность, на местности не сможете даже предположить её величину не обмерив нужные размеры нивелиром.

…даже предположить величину погрешности не сможете… Потому что в принципе недостаточно тех измерений чтобы определить расстояние…

mikles, погрешность на улице определить можно, зная истинную высоту или размер объекта.

А программа то зачем, если знаешь истинную высоту или размеры объекта? Знания о погрешности не перенести на другие объекты… Если один из размеров известен (высота, ширина или расстояние), остальные определяются из простых и точных угловых измерений большим пальцем или какой- нибудь софтиной для камеры, но не этой.

Как по твоему определяют погрешность измерительных приборов. Я полагаю, что погрешность определяют измерением эталонных объектов.

Нет, давайте не с конца подходить к этому. Чтобы определить расстояние до объекта, юзер прочитав описание проги соглашается с тем что он с помощью нивелира или ватерпаса убедился что его ноги и низ объекта находятся на одном уровне, направляет телефон на низ объекта, программа берёт с акселерометра угол на низ объекта от горизонтали, берёт введённый юзером рост, и считает расстояние как рост/tg(угла). Что влияет на точность? Точность измерения этого малого угла. Большая производная, усиливающая влияние погрешности угла и сингулярность функции около нуля… Но главное, область применимости модели, что ноги и низ объекта находятся на одном уровне. Область эта заканичвается когда перепад высот достигает всего лишь заметной доли роста человека. Если объект стоит на возвышении всего в рост человека (а это очень сложно увидеть на расстоянии) угол от горизонта окажется 0градусов, и программа радостно сообщит, что объект находится на краю земли…

По идее надо брать фотографию, координаты, фокусное расстояние объектива, данные OSM. Можно ещё направление по вкусу, если аппарат его умеет – проще выбирать нужный кусок данных из OSM.
Сопоставлять (вручную лучше всего) границы видимой части здания с данными по OSM, откалибровавшись таким образом на ширину.
После этого можно найти высоту здания.

Попутно, невзначай, можно сделать очень крутую штуку – дополненную реальность на базе данных OSM.

Вот только вносить в OSM полученные таким образом данные непосредственно и сразу нельзя. Велики погрешности.
А вот если 10-50 человек с разных точек (с разных фотографий) такие замеры произведут – уже можно говорить о какой-то точности.

Кстати, для этого не обязателен телефон и личное присутствие – достаточно фотографий с разных точек, в EXIF которых есть данные по координатам и фокусному расстоянию объектива. А если в EXIF данные по оптике есть, позволяющие компенсировать оптические искажения несовершенных линз – вообще отлично. В телефонах, небось, искажений по углам ого-го наберётся.

Этой программе для определения линейного размера объекта нужны два параметра: угол, под которым виден этот объект, и расстояние до него. Угол программа вычисляет акселерометром, расстояние - фокусировкой камеры. В помещении (на дистанциях до 10 м) еще можно как-то менять фокусировку; на больших дистанциях камере одинаково фиолетово - 20 м до объекта или 100 (гуглим “ГРИП”). Соответственно, и погрешность на улице будет +/- лапоть.

Сколько я пробывал на разных устройствах замер выходил с погрешностью около 5+ метров, что многовато, так что поигрался и удалил, об реальном использовании даже и не думал

У некоторых погрешность gps приемника 5 метров и ни чего,рисуют же дороги по трекам! А вы тут нашли тему для придирок :slight_smile:

А кто Вам 5метров то пообещал, или в каких условиях?

вы спорите ради того, чтобы просто поспорить ?:slight_smile:

Я предостерегаю от неправильной интерпретации результатов измерений данной прогой.

Ну высоту своего дома я знаю)) Попробывал на нем и нескольких таких же в разных местах при разных условиях. И я сказал погрешность 5+, а не 5. 5 это минимум. Порядок ошибки очень не малый.