Какой программой под Linux или Android можно записывать теги на фотографии: yaw, pitch(bearing) и roll?
В общем, для 3d-сканирования разных памятников и прочих объектов культурного наследия помимо записи GPS-координат появилась необходимость во время фотографирования записывать углы: азимута (угол направления), крена (угол наклона влево-вправо), дифферента (угол наклона вперед-назад) а также расстояние до объекта фотографирования.
Из всего перечисленного выше добра в EXIF из полезного почему-то записываются лишь координаты GPS, направление снимка, фокусное расстояние, но нет всего остального. При этом я точно знаю что все датчики ориентации и инфракрасный дальномер в фотоаппарате есть.
Возможно, собирать эту информацию надо какой-то другой программой или трекером и сохранять не в теги фото, а например, в какой-нибудь XML или CSV.
Существует что-то готовое на Android? или опять всё делать самому?
Скажу вас из своего небольшого опыта, что хоть какое-то значение имеет только азимут, всё остальное рассчитывается само при сопоставлении фото. С учётом говнястого GPS оно просто не имеет смысла.
freeExec, ну GPS в хорошую погоду может быть и не говнястым. А показатели с магнитных датчиков все же надо записывать. Тем более, там возможны и другие полезные инструменты. Кроме всего, на каждое значение показателя датчика парой записывается степень аккуратности показателя.
kocherman, он в любую погоду пляшет на метры туда сюда. Какая разница на показания датчика наклона, когда вы по GPS то слева от памятника, то справа. У вас с одном кадре должен быть памятник, а в другом он должен быть за вами, но он почему-то на картинке.
freeExec, Ну предположим, что они снимаются макросъёмкой или вовсе видео. От 30-8000 кадров/фото в секунду. Конечно, большинство материала придётся откинуть. Собственно, Имея показания датчиков, я могу выровнять фотографии или хотябы просто отобрать наиболее удавшиеся снимки, а остальное - удалить. Вручную это было бы сложно обработать. Ровно так и с GPS - все неточные показания с погрешностью больше 0.5 метров - откидываются, принимаются только данные GPS, где погрешность меньше 0.5м.
freeExec, По этим данным датчиков очень легко определить расфокусированную или смазанную фотографию. - И для этого не нужен ни OpenCV ни TensorFlow, - там чистая математика.
kocherman, 30 кадров с секунду, зачем? Для фотограмметрии важно снять одно и тоже место с разных сторон, а не с одной точки отснимать всё. С GPS вы тоже меня повеселили, он не выдаёт информацию о своей точности. И бытовые приёмники её имеют в размере +/-10м. О каких фантастических пол метрах вы мечтаете я не знаю.
И фото не кто руками не выбирает, всё сваливают в одну кучу и программа всё разгребает сама.
kocherman, Вот вы и почитайте её, и вынесите для себя, что этот DOP не что иное, как описание насколько идеально расположены спутники, а не метры точности. Одно то, что параметр безразмерный должно настораживать.
freeExec, Ну что же вы читаете между строк. Во-первых, есть формула расчета абсолютной погрешности. Она немного сложнее, чем формула hdop, но тем не менее все программы на Android показывают значение погрешности только в метрах.
Во-вторых, типичный RTK-модем выдает координаты с погрешностью около 1-2см. Если у вас не так, то вы неправильно настроили GPS. Либо вы не синхронизировали время.
Максимальное расхождение часов на вашем Android-гаджете и часов на спутнике GPS не должно превышать 10мс.
Пришлите сюда ссылку на ваш gps.conf. Посмотрим, сравним. Сейчас выложу свой.
kocherman, Если у вас геодезический приёмник, то да, вы получите свои сантиметры, но мы тут вроде речь ведём про смартфон. Время же на часах в системе вообще не имеет никакого отношения к GPS. А дрейф часов приёмника измеряется в наносекундах, если бы там были миллисекунды, то вы бы прыгали до самой Африки.
В общем я вам предлагаю взять DIJ коптер, снять один памятник и экспериментировать в обработки данных, понять так ли вам нужны эти углы или нет. На сим откланиваюсь.
Время же на часах в системе вообще не имеет никакого отношения к GPS.
Вы удивитесь, но именно это зачастую играет фатальную роль. Возможно, вы сталкивались с ситуацией, когда дебаг GPS-а гаждета показывает, что увидел 1-2 спутника, но никак не может сопоставить их со своей картой спутников. Вам надо получить координаты, а телефон думает думает думает. Бывает залипает и на 10 минут и на 15 минут. Вот чем он занимается все это время? Он пытается вычислить расхождение между часами просто тупым перебором значений в обе стороны. - И это единственное чем он занимается. - При этом мог бы выдать координаты меньше чем за секунду, синхронизировав часы по Wi-fi чуть заранее.
kocherman, Он занимается не перебором времени, а скачиванием орбиты спутников. Так называемый холодный старт, когда приёмник ничего не знает. Скорость передачи там очень маленькая, на получение полного альманаха уходит порядка 15 минут. А когда есть доступ в инет, он их просто скачивает от туда.