Написал несложный прокси сервер на Перле для обработки Perl-модулем ImageMagick-а качаемых тайлов.
Что умеет делать:
1) Удалять логотип (см. тут)
2) Корректировать поканально уровни RGB
3) Наводить резкость Unsharp Mask
4) Есть возможность проводить потенциально любую(!) цветокоррекцию с помощью обработанного по выбранному алгоритму специальному файлу с "эталонной" таблицей цветов (подробнее рекомендую посмотреть тут http://www.quelsolaar.com/technology/clut.html, вообще интересная тема на предмет реализовать в SAS)
Примеры использования:
качаем часть "плохого" снимка, склеиваем, отправляем в Фотошоп/Гимп/...
а) Выставить уровни и гамму поканально по интересующему ландшафту, записываем значения черной, белой точек и гаммы для каждого канала в !tile_proxy.ini.
б) Поместив на склееный снимок !hald.tif можно провести любые операции с цветом (кривые, каналы, слои, перевод и коррекция в CMYK/LAB; все операции должны быть индивидуальными - не зависеть от цветового окружения), сохранить измененный !hald_edited.tif, указать его в !tile_proxy.ini.
Глюки: при интенсивном скачивании (например, в режиме просмотра) иногда SAS перестает качать через прокси (счетчик тайлов бежит, но ничего реально не скачивается). Лечится перезапуском SAS.
Полный комплект (exe файл, исходный код, файл конфигурации, пример маски и альфаканала для убирания логотипа, пример haldCLUT файла и его редактированной версии)
http://zalil.ru/34415311
Чтобы собранный exe файл работал, необходимо установить ImageMagick (выбрать версию Win32 dynamic at 8 bits-per-pixel, на текущий момент последняя версия)
Прокси сервер для обработки тайлов
Модератор: Tolik
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Прокси сервер для обработки тайлов
Вопрос: при использовании данного сервера как будет вести себя программа в случае указания "заменять существующие тайлы только при их отличии"?
-
T_Im
- Постигающий Дао
- Сообщения: 112
- Зарегистрирован: 04 янв 2009, 21:52
- Благодарил (а): 14 раз
- Поблагодарили: 23 раза
Re: Прокси сервер для обработки тайлов
Смотря какой алгоритм у "заменять существующие тайлы только при их отличии". Если сверяется содержание тайла - то будет замена. Если берется размер или дата последней модификации из http хедера - то они вроде бы должны передаваться без изменений (замены не будет). Если сверяется физический размер тайла - то тут зависит от опций (например, при удалении логотипа размер, как ни странно, не изменяется; наведение резкости может увеличить тайл).
В любом случае, не вижу смысла качать в таком режиме через прокси: что в некоторых случаях SAS почему то пропускает пришедшие через прокси тайлы (при повторной скачке они скачиваются) - поэтому, во избежания мозаики лучше все делать на чистом кеше.
В любом случае, не вижу смысла качать в таком режиме через прокси: что в некоторых случаях SAS почему то пропускает пришедшие через прокси тайлы (при повторной скачке они скачиваются) - поэтому, во избежания мозаики лучше все делать на чистом кеше.
-
Draude
- Соображающий
- Сообщения: 82
- Зарегистрирован: 28 авг 2009, 02:02
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Прокси сервер для обработки тайлов
Че то не работает. Давайте разбираться
1.стащил по ссылке ImageMagick (ImageMagick-6.8.4-7-Q16-x86-dll.exe Win32 dynamic at 16 bits-per-pixel) .
2. установил
3. нашел рабочий прокси, изменил настройки SAS
4. соответственно задачи подправил !tile_proxy.ini :
5. запустил !tile_proxy
ошибок нет, но SAS качает тайлы без коррекции, изменение порядка запуска SAS и !tile_proxy безрезультатно
6. подправил !tile_proxy.ini в части Host и параметров коррекции, запустил:
два
ошибок нет, но SAS качает тайлы снова без коррекции, изменение порядка запуска SAS и !tile_proxy безрезультатно
7. сменил картосервис , взял Кадастр Ua, поправил !tile_proxy.ini, а именно : host=212.26.144.110 а из коррекции оставил только delogo=1
8. в независимости от порядка запуска !tile_proxy имеем ошибку :
соответственно и для кадастра скачанные тайлы без изменений, где косяк?
1.стащил по ссылке ImageMagick (ImageMagick-6.8.4-7-Q16-x86-dll.exe Win32 dynamic at 16 bits-per-pixel) .
2. установил
- скрытый текст: показать
3. нашел рабочий прокси, изменил настройки SAS
- скрытый текст: показать
4. соответственно задачи подправил !tile_proxy.ini :
- скрытый текст: показать
5. запустил !tile_proxy
- скрытый текст: показать
ошибок нет, но SAS качает тайлы без коррекции, изменение порядка запуска SAS и !tile_proxy безрезультатно
6. подправил !tile_proxy.ini в части Host и параметров коррекции, запустил:
два
- скрытый текст: показать
ошибок нет, но SAS качает тайлы снова без коррекции, изменение порядка запуска SAS и !tile_proxy безрезультатно
7. сменил картосервис , взял Кадастр Ua, поправил !tile_proxy.ini, а именно : host=212.26.144.110 а из коррекции оставил только delogo=1
8. в независимости от порядка запуска !tile_proxy имеем ошибку :
- скрытый текст: показать
соответственно и для кадастра скачанные тайлы без изменений, где косяк?
Re: Прокси сервер для обработки тайлов
Draude писал(а):Проблема наверное в ImageMagick
Может установить IM в perl стандартным способом через ppm?
Автор, зачем установка отдельного целого IM-ка нужна? Через ppm не прокатит?
-
Draude
- Соображающий
- Сообщения: 82
- Зарегистрирован: 28 авг 2009, 02:02
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Прокси сервер для обработки тайлов
блииин, IM ругается на кирилицу в названиях файла и именах директорий
-
T_Im
- Постигающий Дао
- Сообщения: 112
- Зарегистрирован: 04 янв 2009, 21:52
- Благодарил (а): 14 раз
- Поблагодарили: 23 раза
Re: Прокси сервер для обработки тайлов
2Draude
В настройках SAS нужно указать localhost:номер порта из инишника.
Прокси поднимается на локальной машине, типа проксомитрона. Никакие внешние рабочие прокси не нужны.
Попробуйте переустановить Image Magick на 8 битную версию (возможно это критично, поскольку у меня все работало с ней).
Дело в том, что устанавливаеемый через ppm модуль все равно использует стандартную установку IM (его папка обязательно должна быть прописана в PATH винды) - используются его библиотеки.
Я пытался выделить необходимые библиотеки, чтобы они лежали рядом с ссобранным exe файлом и не требовали установленного IM, но там какая то хитрая иерархическая структура: часть вещей работает, но как только требуется преобразование tiff>jpeg - все вылетает (tiff библиотеку кидал и в корень и в соответствующую подпапку - безрезультатно). Если кто нибудь разберется как это сделать - буду благодарен.
В настройках SAS нужно указать localhost:номер порта из инишника.
Прокси поднимается на локальной машине, типа проксомитрона. Никакие внешние рабочие прокси не нужны.
Попробуйте переустановить Image Magick на 8 битную версию (возможно это критично, поскольку у меня все работало с ней).
vasketsov писал(а):Может установить IM в perl стандартным способом через ppm? Автор, зачем установка отдельного целого IM-ка нужна? Через ppm не прокатит?
Дело в том, что устанавливаеемый через ppm модуль все равно использует стандартную установку IM (его папка обязательно должна быть прописана в PATH винды) - используются его библиотеки.
Я пытался выделить необходимые библиотеки, чтобы они лежали рядом с ссобранным exe файлом и не требовали установленного IM, но там какая то хитрая иерархическая структура: часть вещей работает, но как только требуется преобразование tiff>jpeg - все вылетает (tiff библиотеку кидал и в корень и в соответствующую подпапку - безрезультатно). Если кто нибудь разберется как это сделать - буду благодарен.
-
Draude
- Соображающий
- Сообщения: 82
- Зарегистрирован: 28 авг 2009, 02:02
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Прокси сервер для обработки тайлов
Скачал 8бит static , нет одной библиотеки, снес скачал 8бит dynamic ( по идеи должно быстрее работать)
вынес папку !perlproxy на корневой, все запускается без ругани, но неработает
буду пробывать "переселять" SAS по пути без кирилицы
вынес папку !perlproxy на корневой, все запускается без ругани, но неработает
- скрытый текст: показать
буду пробывать "переселять" SAS по пути без кирилицы
Последний раз редактировалось Draude 07 апр 2013, 14:05, всего редактировалось 1 раз.
-
Draude
- Соображающий
- Сообщения: 82
- Зарегистрирован: 28 авг 2009, 02:02
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Прокси сервер для обработки тайлов
T_Im писал(а):2Draude
В настройках SAS нужно указать localhost:номер порта из инишника.
Прокси поднимается на локальной машине, типа проксомитрона. Никакие внешние рабочие прокси не нужны.
...
А наоборот в инишник номер порта из SAS как у меня нельзя указать?
- скрытый текст: показать








