Фотоаппарат вместо сканера? Почему бы и нет!
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 30 май 2011, 08:34
- Репутация: 0
Фотоаппарат вместо сканера? Почему бы и нет!
В последнее время все чаще начинают встречаться материалы для оцифровки, полученные не путем сканирования материальных носителей, а полученные в результате фотографирование. Ранее такие материалы не рассматривались для автоматической векторизации в виду их низкого качества. Но в связи с широким распространением качественной фототехники, качество таких материалов стало достаточно приличным, но как и прежде на таких материалах присутствуют искажения:
- размытость по краям - такие виды искажений вносит фототехника.
- неровность самого носителя - при сканировании карта прижимается, и неровности частично разглаживаются. При фотографировании материал просто лежит на ровной поверхности и все неровности просто "расцветают".
В связи со все большем распространением таких материалов хотим поделиться алгоритмом их обработки.
Посмотрим на исходный растр, а вернее сказать на две половинки растра.
Шаг 1. Создание проекта
Цель первого шага - создать проект в который будут помещены оба растра для их дальнейшей обработки.
Необходимо создать проекты в нашем случае масштаба 1:2000 и поместить в поле проекты две половинки растра.
Шаг 2. Генерация сетки контрольных точек.
На втором шаге необходимо выполнить генерацию сетки контрольных точек по которым будет выполнена привязка и коррекция двух половинок растра.
Для генерации существует утилита "Генерация рамки и сетки". В окне утилиты необходимо задать начальную точку сетки и ее шаг, а так же вид сетки (непрерывные линии или в виде крестов).
Шаг 3. Перепривязка и коррекция растров по произвольному набору опорных точек.
Выполним перепривязку и коррекцию каждой половины растра.
Перепривязка по всем реперам растра позволит распрямить растр и выполнить коррекцию растра в пределах каждого квадрата образуемого реперами.
Перепривязка растра выполняется достаточно просто - необходимо указать всем реперным засечкам растра соответствующие им сгенерированные кресты сетки.
До привязки и коррекции ...
... и после
Шаг 4. Обрезка растров
Две половины растра были отсняты с перекрытием. Необходимо обрезать растры по общим для обоих растров крестам, максимально удаленным от края растра, т.к. у краев имеются максимальные искажения.
Шаг 5. Объединение растров.
Сошьем два куска карты в единый растр. Для этого выполним утилиту "Объединение растров". А так же обрежем у растра зарамочную информацию для сборки растрового покрытия.
- размытость по краям - такие виды искажений вносит фототехника.
- неровность самого носителя - при сканировании карта прижимается, и неровности частично разглаживаются. При фотографировании материал просто лежит на ровной поверхности и все неровности просто "расцветают".
В связи со все большем распространением таких материалов хотим поделиться алгоритмом их обработки.
Посмотрим на исходный растр, а вернее сказать на две половинки растра.
Шаг 1. Создание проекта
Цель первого шага - создать проект в который будут помещены оба растра для их дальнейшей обработки.
Необходимо создать проекты в нашем случае масштаба 1:2000 и поместить в поле проекты две половинки растра.
Шаг 2. Генерация сетки контрольных точек.
На втором шаге необходимо выполнить генерацию сетки контрольных точек по которым будет выполнена привязка и коррекция двух половинок растра.
Для генерации существует утилита "Генерация рамки и сетки". В окне утилиты необходимо задать начальную точку сетки и ее шаг, а так же вид сетки (непрерывные линии или в виде крестов).
Шаг 3. Перепривязка и коррекция растров по произвольному набору опорных точек.
Выполним перепривязку и коррекцию каждой половины растра.
Перепривязка по всем реперам растра позволит распрямить растр и выполнить коррекцию растра в пределах каждого квадрата образуемого реперами.
Перепривязка растра выполняется достаточно просто - необходимо указать всем реперным засечкам растра соответствующие им сгенерированные кресты сетки.
До привязки и коррекции ...
... и после
Шаг 4. Обрезка растров
Две половины растра были отсняты с перекрытием. Необходимо обрезать растры по общим для обоих растров крестам, максимально удаленным от края растра, т.к. у краев имеются максимальные искажения.
Шаг 5. Объединение растров.
Сошьем два куска карты в единый растр. Для этого выполним утилиту "Объединение растров". А так же обрежем у растра зарамочную информацию для сборки растрового покрытия.
Последний раз редактировалось alexm 26 сен 2012, 12:32, всего редактировалось 2 раза.
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 30 май 2011, 08:34
- Репутация: 0
Re: Фотоаппарат вместо сканера!? Почему бы и нет!
А так же хотелось добавить - чтобы добиться лучших результатов исходные материалы перед фотографированием желательно разгладить утюгом. Если нет возможности разгладить, то просто натянуть и прижать края хотя бы монетами по пять рублей. И такая нехитрая манипуляция позволит значительно уменьшит искажения по краям карты.
-
- Гуру
- Сообщения: 1695
- Зарегистрирован: 14 июн 2011, 16:47
- Репутация: 133
- Ваше звание: Завсегдатай
- Откуда: Череповец
Re: Фотоаппарат вместо сканера!? Почему бы и нет!
какую версию ЕТ использовали?
[ Сообщение с мобильного устройства ]
[ Сообщение с мобильного устройства ]
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 30 май 2011, 08:34
- Репутация: 0
Re: Фотоаппарат вместо сканера!? Почему бы и нет!
Этот пример коррекции и сшивки растра был выполнен в версии 9.2.
Такой сложный путь коррекции был выбран специально для демонстрации величины искажений на исходных растровых фрагментах. Гораздо проще (но менее наглядно) было бы использовать встроенный в пакет визард "Привязка растров по регулярной сетке". Он позволяет не только трансформировать, обрезать и сшить фрагменты растра, но и сразу привязать его к реальным координатам.
Механизм коррекции и сборки растровых фрагментов планшетов имеющих регулярную сетку был самым первым из встроенных в ET средств привязки растров. Естественно, что он доступен и в бесплатной ET 7.99.
Такой сложный путь коррекции был выбран специально для демонстрации величины искажений на исходных растровых фрагментах. Гораздо проще (но менее наглядно) было бы использовать встроенный в пакет визард "Привязка растров по регулярной сетке". Он позволяет не только трансформировать, обрезать и сшить фрагменты растра, но и сразу привязать его к реальным координатам.
Механизм коррекции и сборки растровых фрагментов планшетов имеющих регулярную сетку был самым первым из встроенных в ET средств привязки растров. Естественно, что он доступен и в бесплатной ET 7.99.
Последний раз редактировалось alexm 27 сен 2012, 08:59, всего редактировалось 2 раза.
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Фотоаппарат вместо сканера!? Почему бы и нет!
Если бумагу кто-то предварительно жевал или заворачивал в нее колбасу, я бы все же настоял на предварительном разглаживании.
Все же сетка крестов тут слишком редкая, чтобы выловить все искажения на правом нижнем углу. Так что против фотографирования, конечно, уже глупо что-либо высказывать - современные камеры хороши, но против таких вот оригиналов - еще есть, что сказать.
Ну и для большей научности и наглядности этого proof of concept, тут бы хорошо было сравнить скан приличного оригинала на широкоформатном сканере и результат его фотографирования с последующим выправлением и склейкой. Желательно, в режиме вычитания одного растра из другого.
P.S. Неоднократно выполнял аналогичную процедуру в GlobalMapper
Все же сетка крестов тут слишком редкая, чтобы выловить все искажения на правом нижнем углу. Так что против фотографирования, конечно, уже глупо что-либо высказывать - современные камеры хороши, но против таких вот оригиналов - еще есть, что сказать.
Ну и для большей научности и наглядности этого proof of concept, тут бы хорошо было сравнить скан приличного оригинала на широкоформатном сканере и результат его фотографирования с последующим выправлением и склейкой. Желательно, в режиме вычитания одного растра из другого.
P.S. Неоднократно выполнял аналогичную процедуру в GlobalMapper
-
- Easy Trace – эксперт
- Сообщения: 329
- Зарегистрирован: 03 сен 2009, 11:13
- Репутация: 64
- Откуда: Россия, г.Рязань
- Контактная информация:
Re: Фотоаппарат вместо сканера? Почему бы и нет!
Боюсь что GlobalMapper покажет 100% отличие сравниваемых растров. Дело в том, что используемое в ET обратное кусочно-проективное преобразование по определению изменяет цветовые и яркостные характеристики пикселов конечного растра.
Смысл в том, что для каждой пиксела "расправленного" растра ищется его положение на оригинале растра. И это положение вовсе не обязано совпадать с точными позициями пикселов в растровой решетке оригинала. В общем случае, это некие ДРОБНЫЕ координаты в квадрате ограниченном четырьмя смежными пикселами. Соответственно, итоговый пиксел "расправленного" растра это взвешенная смесь цветов четвёрки пикселов растра-оригинала.
Так обрабатываются цветные и серошкальные растры. Для чёрно-белых всё несколько проще - в искомой точке, по четвёрке смежных пикселов вычисляется уровень белого и нормируется по порогу 0,5.
Смысл в том, что для каждой пиксела "расправленного" растра ищется его положение на оригинале растра. И это положение вовсе не обязано совпадать с точными позициями пикселов в растровой решетке оригинала. В общем случае, это некие ДРОБНЫЕ координаты в квадрате ограниченном четырьмя смежными пикселами. Соответственно, итоговый пиксел "расправленного" растра это взвешенная смесь цветов четвёрки пикселов растра-оригинала.
Так обрабатываются цветные и серошкальные растры. Для чёрно-белых всё несколько проще - в искомой точке, по четвёрке смежных пикселов вычисляется уровень белого и нормируется по порогу 0,5.
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Фотоаппарат вместо сканера? Почему бы и нет!
Про GM я написал, на самом деле, в том смысле, что там аналогичная операция также возможна. Ну и сравнение, конечно, тоже.
Говоря о сравнении, я не имел в виду поиск 100% совпадения. Это невозможно еще и по причине того, что для полного совпадения нужна была бы привязка с субпиксельной точностью, чтобы совмещение листов было "абсолютным".
Режим Difference, на самом деле, способен проиллюстрировать не только совпадение/несовпадение, но и его степень (в случае таких растров, визуально это выражалось бы в размерах "призраков" линий и точек), а также равномерность распределения степени несовпадения. Можно было бы даже построить некую диаграмму степени несовпадения, если экспортировать получившуюся в результате Difference-наложения картинку и применить к ней интерполяцию (размывание по Гауссу, например). Области, где степень несовпадения выше, будут более светло окрашены.
В любом случае - мои замечания относятся, скорее, к методике эксперимента, а не к самой сути метода.
Говоря о сравнении, я не имел в виду поиск 100% совпадения. Это невозможно еще и по причине того, что для полного совпадения нужна была бы привязка с субпиксельной точностью, чтобы совмещение листов было "абсолютным".
Режим Difference, на самом деле, способен проиллюстрировать не только совпадение/несовпадение, но и его степень (в случае таких растров, визуально это выражалось бы в размерах "призраков" линий и точек), а также равномерность распределения степени несовпадения. Можно было бы даже построить некую диаграмму степени несовпадения, если экспортировать получившуюся в результате Difference-наложения картинку и применить к ней интерполяцию (размывание по Гауссу, например). Области, где степень несовпадения выше, будут более светло окрашены.
В любом случае - мои замечания относятся, скорее, к методике эксперимента, а не к самой сути метода.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей