Подложка кадастра - как стереть логотип?

Модератор: Tolik

Ответить
T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

Подложка кадастра - как стереть логотип?

Сообщение T_Im »

Логотип размером не в пример Гугла-Яндекса, сильно мешается при просмотре и не дает по нормальному перегенерить вышележащие уровни. Снимки Украины во многом уникальные, лучше Спота, до 17-го уровня и хорошего качества, однако высокие уровни сделаны как то странно и криво, с потерей цветов и контраста: непонятно, что можно рассмотреть, например, на таком тайле 9-го уровня.

Координаты логотипа на тайле фиксированы и этот логотип имеется на посностью белом фоне. Хочется максимально ослабить логотип, желательно, используя ImageMagick (чтобы процедура была пакетной и одновременно можно было подкрутить уровни).
Пока смог некоторым шаманством в IM получить результат как во вложении.

Помниться, где то тут уже заходила речь об удалении логотипов (не могу найти где), может кто подскажет, как это проще всего сделать?
Вложения
!delogo.JPG
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: Подложка кадастра - как стереть логотип?

Сообщение zed »

Даже такой результат, как у вас на скриншоте, совсем не плох. Технологию не хотите рассказать?
vasketsov
Специалист
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Поблагодарили: 193 раза

Re: Подложка кадастра - как стереть логотип?

Сообщение vasketsov »

T_Im писал(а):желательно, используя ImageMagick (чтобы процедура была пакетной и одновременно можно было подкрутить уровни)

По алгоритму компенсации уровней не подскажу.
А вот за ImageMagick подскажу. Что если написать скрипт закачки на PerlScript - можно сразу при скачке тайла натягивать на него алгоритм ImageMagick-ом, и без всякой дополнительной обработки кэша, он будет сразу правильный копиться.
T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

Re: Подложка кадастра - как стереть логотип?

Сообщение T_Im »

zed писал(а):Даже такой результат, как у вас на скриншоте, совсем не плох. Технологию не хотите рассказать?

Результат получен так: на тайл были наложены в Гимпе два слоя, полученные из "белого" логотипа: негатив в режиме "добавление" и позитив с цветом в альфа канале в режиме "вычитание". Коэффициенты прозрачности подбирались экспериментальным путем в Гимпе до максимального визуального подавления логотипа.
В команду для IM это переносится так:
convert tile.jpg logo_inverted.tif logo_alpha_channel.xcf -fx "(u[0]+0.4*u[1]-0.8*u[2])" tile_no_logo.jpg
Где 0.4 и 0.8 - найденные в Гимпе коэффициенты.

Но повторюсь - это шаманство, должен существовать нормальный алгоритм, поскольку теоретически такой логотип должен удаляться почти без следов.

vasketsov писал(а):если написать скрипт закачки на PerlScript - можно сразу при скачке тайла натягивать на него алгоритм ImageMagick-ом

Прокси сервер поднять? В принципе, да, можно будет сделать, когда будет приемлемый алгоритм.
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: Подложка кадастра - как стереть логотип?

Сообщение zed »

vasketsov писал(а):Что если написать скрипт закачки на PerlScript - можно сразу при скачке тайла натягивать на него алгоритм ImageMagick-ом, и без всякой дополнительной обработки кэша, он будет сразу правильный копиться.

Тоже об этом подумалось.
T_Im писал(а):Прокси сервер поднять? В принципе, да, можно будет сделать, когда будет приемлемый алгоритм.

Нет, зюзать SACS, который с недавних пор умеет вызывать любые скрипты: http://sasgis.org/mantis/view.php?id=1841
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: Подложка кадастра - как стереть логотип?

Сообщение DJ VK »

Автоматически могу помочь, но надо 2 тайла и цвета, почти нереально если только спутник
-знак на фоне одного цвета, например белого + сам цвет
-знак на фоне другого цвета, например зеленого + сам цвет
так кололся Г Г Ц, тайлы собирались из кусков, и потом все за секунды чистилось
T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

Re: Подложка кадастра - как стереть логотип?

Сообщение T_Im »

Есть:
Лого на белом фоне:
http://212.26.144.110/tile2/orto_10000/10/613/680.jpg
Лого на черном фоне:
http://212.26.144.110/tile2/orto_10000/ ... /21544.jpg
http://212.26.144.110/tile2/orto_10000/ ... /43089.jpg
Лого на фоне очень однородной воды (по всей видимости вода просто залита цветом):
http://212.26.144.110/tile2/orto_10000/13/4884/5277.jpg
http://212.26.144.110/tile2/orto_10000/12/2408/2648.jpg

Лого на фоне не очень однородной воды:
http://212.26.144.110/tile2/orto_10000/13/4831/5391.jpg
http://212.26.144.110/tile2/orto_10000/ ... /10783.jpg
http://212.26.144.110/tile2/orto_10000/ ... /10782.jpg

Этого хватит?
T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

Re: Подложка кадастра - как стереть логотип?

Сообщение T_Im »

Эврика! Все решилось!
После изучения статьи про альфа канал в Википедии, наконец то понял, как можно найти прозрачность и логотип математически строго решая систему из 2-х уравнений, имея логотип на белом и черном фоне (спасибо DJ VK за подсказку о 2-х цветах).
В итоге, имея логотип на белом и на черном фоне (l_w.tif и l_b.tif соответственно) любой прозрачный логотип полностью будет удаляться с tile.jpg командой
convert tile.jpg Rw.tif Rb.tif -fx "(u[0]-u[2])/(u[1]-u[2])" tile_no_logo.jpg

Результаты - во вложении. Неполное стирание логотипа объясняется скорее всего погрешностями JPG-а. Вероятно, усреднениями некоторую часть артефактов можно будет частично убрать.
Вложения
Стирание логотипа
Стирание логотипа
T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

Re: Подложка кадастра - как стереть логотип?

Сообщение T_Im »

Поскольку есть 3 разных цвета и 3 канала, то всего возможно получить
3 варианта маски и 3*3 = 9 вариантов альфа канала (независимых соответственно 2 и 2*3 = 6).
Усреднив по 10-50 тайлов с логотипом одного цвета и поигравшись с различными вариантами (в том числе и усредняя их между собой) постарался максимально уменьшить артефакты, проявляющиеся при удалении логотипа.
Сравнительный итог улучшений - во вложении (200% кропы логотипа по предыдущей и по улучшенной методике). Стало заметно лучше - на неоднородном фоне артефакты практически не видны.
Чтобы удалить логотип с тайла ("улучшенные" файлы !Mask.tif и !Alpha.tif во вложении):
convert tile.jpg !Mask.tif !Alpha.tif -fx "(u[0]-u[1])/u[2]" tile_no_logo.jpg
Вложения
Результат улучшения
Результат улучшения
mask_and_alpha_tiffs.ZIP
tif файлы маски и прозрачности
(22.59 КБ) 354 скачивания
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: Подложка кадастра - как стереть логотип?

Сообщение DJ VK »

T_Im писал(а):Поскольку есть 3 разных цвета и 3 канала,

ах да, забыл сказать, что коэффициенты надо считать разные по каждому из каналов, и для точности все цифры сначала приводить в double.
Ответить

Вернуться в «Другие сервисы»