Как управлять числом вершин и гладкостью линий
Добавлено: 16 сен 2010, 08:55
Всё управление точностью построения полилиний находится в окне "Параметры трассировки". Доступ к окну - двойной клик на списке стратегий, потом на клавишу "Параметры...". Числом вершин в полилинии управляет параметр "Аппроксимировать линию с точностью ...". Чем он меньше, тем точнее прокладывается линия и тем больше в ней вершин. Значение параметра задается в пикселах растра. Физический смысл очень прост - в треугольнике, построенном на любых трех соседних точках полилинии, высота, опущенная из средней точки всегда не меньше, чем значение параметра.Гость писал(а):При трассировке кривых, полилинии получаются слишком гладкие. Ну и естественно вершин в них многовато... Как уменьшить число вершин в полилинии?
Длина фильтра и точность аппроксимации - это две половинки одного апельсина. Сначала линия сглаживается (работает фильтр), а затем удаляются лишние вершины (работает аппроксимация). Фильтрация не удаляет вершины из линии, а только возвращает "вершины-выскочки" на своё место.Гость писал(а):А зачем тогда нужны фильтры в "Параметрах трассировки"? И почему они тоже задаются в пикселах?
До выполнения аппроксимации линия состоит из сотен вершин, расстояние между которыми примерно равно одному пикселу (увидеть как выглядит такая линия можно задав "Точность апроксимации" равной 0). Длина фильтра - это количество соседей "вершины-выскочки", которые пытаются вернуть её на место.
Конечно! Чем сильнее фильтр сглаживает линию, тем меньше точек нужно для её апроксимации.Гость писал(а):Но ведь если я увеличиваю длину фильтра, количество вершин в полилинии тоже уменьшается?
Здесь нет единого рецепта на все случаи жизни. В идеале, подбор параметров зависит от характера материала, DPI растра и даже выбора значений яркости и контрастности при сканировании оригинала. Но не всё так грустно. Алгоритм подбора параметров следующий:Гость писал(а):Так как все-таки правильно настроить параметры фильтра и апроксимации?
1. Если это рельеф гористой местности или мелкие озёра, берём фильтр "Извилистые кривые", если это равнина, русла рек - фильтр "Плавные кривые".
2. Установив параметр точности аппроксимации в 0.5 pix, увеличиваем длину фильтра,
следя за тем, что бы в самых изогнутых местах векторная линия не "вываливалась" из растровой.
3. Загрубляем (увеличиваем) параметр точности аппроксимации до достижения компромисса:
число вершин в линии <=> точность представления кривой.
Подобранные параметры желательно сохранить в виде отдельной стратегии (набора параметров трассировщика). Например как "Рельеф", "Реки" и т.д. Стратегия сохраняется по нажатию клавиши "Добавить стратегию".
Много стратегий обычно не требуется. Три-четыре штуки для обработки большой серии материалов. И это включая стратегии для ломаных и ортогональных линий.
Да! Каждая стратегия - это уникальный инструмент для своего типа линий. В Easy Trace никогда не используется "просто трассировщик". Это всегда пара - базовый инструмент и набор его параметров (стратегия трассировки). Затратив десяток минут на создание инструментов для своего растра, можно сэкономить часы на трассировке и редактировании полилиний. Удобнее всего использовать стратегии через "Инструменты пользователя".Гость писал(а):Не понял ... - это трассировщики несколько раз настраивать надо???
Инструмент пользователя - это связка из пары Трассировщик-Стратегия и слоя, куда должна попасть векторизованная линия. Такой связке назначается кнопка, вынесенная на панель инструментов пользователя. Нажал на кнопку с изображением домика и получил настроенные ортогональный трассировщик и текущий слой "Здания". Для создания своего инструмента - кликни на "молоток" на панели "Инструменты пользователя". Картинку для кнопки можно выбрать в папке Icons в каталоге, где установлен Easy Trace.Гость писал(а):А "Инструменты пользователя" - это как?
Значит кто-то порылся в опциях (Сервис\Параметры) и установил галку "Запретить неявную смену текущего слоя при выборе инструмента". Инструменты пользователя сами устанавливают текущий векторный слой только если эта опция выключена.Гость писал(а):А! Видел эту панель в примере из Караганды. Клёво! Вот только почему-то текущий слой перестал сам переключается...
Гость писал(а):Спасибо!