Давно хотел наладить автоматическую фоторегистрацию для картографических покатушек. Вещь крайне нужная, т.к. отрисовка трека с фотографиями и без – это небо и земля. Наконец нашел на это время.
Наличие фотографий позволяет:
- Точно картографировать не только дороги, но и дома, заборы, магазины, школы, переходы, дорожные знаки, bump-ы, итп.
- Рисовать точно, даже в том случае если трек плавает ±50 метров.
- Обкатывать дороги любого типа (авто, тропинки, пешеходные), не озадачиваясь на тему как потом вспомнить что где.
Задача - сделать фото-регистратор из WinMobile КПК.
После беглого изучения темы было найдено три программы:
Два видео-регистратора:
- AutoDVR http://www.autodvr.ru/
- MyDVR http://mydvr.ru/
И один фото-регистратор:
3. ItsMyCar http://4pda.ru/forum/index.php?showtopic=101828&st=0
К сожалению, синхронизацию трека и видео JOSM не поддерживает (что очень жаль, было бы мега круто – видел где-то на гугле проект с такой привязкой в действии), потому остановился пока на третьей программе.
Хотя надо заметить, что авторы MyDvr (2) ведут активную разработку, отвечают на вопросы на форуме. И вроде даже хотят добавить фото-регистрацию в будущих версиях.
Если первые две коммерческие программы – серьезно разработанные видео-регистраторы. Которые сами захватывают видео, дают качественную картинку, добавляют на нее дату и GPS-координаты, итп. То ItsMyCar - несложная бесплатная программа-оболочка, написанная на VB .NET, работающая со штатным приложением камеры, просто имитируя нажатие кнопки «съемка».
Программа не безглючная, у меня долго не получалось заставить её работать на FS Loox 720, думал что уже не пойдет, но победил упорством и крепкими нервами. Там косяк в валидации пути сохраняемых фото, у меня заработало только с корневой папкой девайса.
**Итак, нюансы настройки: **
ItsMyCar
- Путь сохранения фото: \ (возможна эта проблема только на FS Loox).
Camera.exe:
- Отключить звук затвора
- Отключить подсветку
- Отключить показ preview после фотографирования
- Путь сохранения фото: \
Настройки режима съемки сейчас использую такие:
- Amibience: Daylight
- Разрешение пока пробую ставить минимальное. Мне кажется что так меньше смазывает изображение при съемке (хотя возможно только кажется, буду проверять).
Крепление:
В случае вело-покатушки я пришел к тому, что лучше всего крепить на руль. Пробовал крепить на пояс, на лямку рюкзака – в таких вариантах камера наклоняется и никогда нельзя быть уверенным в том, что она снимает. Т.к. никакого специального крепления еще не собрал, пока использую жесткий метод: цепляю чехол девайса прямо на гидролинии тормозов.
EXIF:
В современных КПК такой проблемы быть не должно, в данном случае речь идет о WM2003.
После того как были побеждены все начальные проблемы, проведена тестовая съемка – я пришел домой, слил фото и приготовился рисовать карту…. выяснилось что встроенная камера WinMobile не пишет EXIF в файл с фото. А JOSM для привязки к треку берет дату-время именно из EIXF.
Пришлось поколдовать над решением. Нашел подходящий редактор EXIFa (пеловый ExifTool – The Best), написал хитрый батник для извлечения даты из свойств файлов и формирования команды для ExifTool. Еще пришлось изрядно повозиться с конвертированием формата даты. Bat скриптинг – великое зло. 8]
Итак:
1.1. EXIFTool берем здесь: http://www.sno.phy.queensu.ca/~phil/exiftool/ (Windows Executable)
1.2. Текст батника здесь: http://pastebin.com/f59830ebb
1.3. Ну или сразу можно скачать готовый архив с обоими файлами: http://antaresantares.narod2.ru/files/Date2EXIF.zip
-
Кладем exiftool.exe и dateToExif.bat в папку с фотографиями. Запускаем. И оно конвертит дату редактирования файла в EXIF AllDates (Creation, Edit, …) – ДЛЯ ВСЕХ ФОТОГРАФИЙ В ПАПКЕ.
-
Можно выпить чайку.
Конвертирует со скоростью примерно 1 фото в сек: http://clip2net.com/clip/m9923/1254956560-clip-25kb.png
По завершению фотографии отлично привязываются к треку в JOSM.
Все работает корректно. Но на всякий случай бэкапте фотографии и не запускайте батник где не следует
Результат:
Tada! http://clip2net.com/clip/m9923/1254956828-clip-299kb.jpg
Подробный фото-журнал вдоль всего трека.
…качество фото конечно ужасное. Но для первого эксперимента больше и не требовалось.
В минимальном приближении цель достигнута.
Итого:
- Готовое решение фоторегистрации для WinMobile КПК.
- При картографировании фотографии действительно очень помогают *
* но отнимают больше времени, т.к. начинаешь наносить на карту больше деталей - 30 минут, 2.5 фото в секунду = 732 фото 120х160пикс = 5.6МБ на FS LOOX 720.
- Аккумулятора старого КПК хватает всего на час-полтора. (правда я его часто дёгал пока настраивал – если не трогать, проработает чуть больше)
- «Световой день» для толковой фоторегистрации заканчивается минут за 30 до заката солнца.
Развитие:
Первое что нужно делать для усовершенствования системы, это улучшать качество. Основная проблема сейчас – это то, что камера КПК делает фото с повышенной выдержкой, от чего они смазываются при резком движении.
Так же камере явно хочется прибавить угла зрения. Т.к. чаще всего важнее видеть не то, что находиться прямо по курсу движения – вдоль дорог, а объекты по сторонам дороги.
Возможны следующие пути:
- Заменить программу работающую с камерой на другую (Самописную\MyDVR)
- Попробовать прикрутить к КПК внешнюю камеру (а что? У меня usb-host есть… дело за драйверами:)
- Заменить КПК на более толковый девайс: Ноутбук (стремно за перегрев и тряску HDD, я один уже сменил:), UMPC\Нетбук (оптимально). На такие девайсы можно навесить толковые камеры (и несколько штук) + проще найти\написать толковый софт.
- Написать прошивку для мыльницы Canon, что бы она стала фоторегистратором [требуеться супер-квалифицированный ассемблер-гуру с вагоном времени;))]]
Варианты увеличения FOV
- Найти\сколхозить широкоугольную линзу на объектив. Например: http://www.dealextreme.com/search.dx/search.lens
- Использовать несколько камер (идеально8) http://www.opengeodata.org/2009/10/02/cheap-streetview/
…Как бы подружиться с этими ребятами и раздобыть комплект софта, что бы не изобретать велосипед? OpenStreetView с подробностью до каждого переулка – ы? 8]
PS: И не забывайте сфоторграфировать экран GPS-а в начале покатушки, для коррекции смещения по времени фотографий в JOSM. (у меня при подборке смещения, почему-то пришлось добавить еще 3 секунды к тому что показывал GPS на фото)
PPS: с появлением новой информации пост планирую обновлять (если форум не будет глючить:)