Страница 1 из 1

Как в 7.99 выделить горизонтали рельефа (JPEG,сепия и т. д.)

Добавлено: 15 сен 2010, 18:29
Григорий Степанов
kipjd писал(а):Пробую себе оцифровать лист карты. Но в полуавтоматическом режиме уйдёт, видимо, уйма времени, т.к. плотность горизонталей большая. Поэтому решил попробовать автовекторизацию, но появилась сложность с выделением слоя с горизонталями - из-за "качества" печати они получились "пятнистыми".
Как с таким бороться.
Файл: 300 дпи, JPEG.
Спасибо.
3.jpg
горизонтали
3.jpg (102.2 КБ) 8356 просмотров
После некоторой возни получилось следующие:

(Пример и проект выполнены на первом вложенном в пост растре
то есть 300 DPI, JPEG. Как выглядят на нём линии видно во втором
сообщении.
В пост вложен проект, так что можно попробовать повторить всё
своими руками ...)

На основе растра 3.jpg создан проект "по растру". Единицы измерения
пикселы, координатная система от Л.Н.У. растра (вопросы коррекции,
трансформации, привязки и т.д. в этом посте не рассматриваются).

Растр 3.jpg открыт, сохранён под именем 3_relief.tif и добавлен в проект.

Затем растр 3_relief.tif был обработан цепочкой растровых операций.
Цель - размытие и отсев точек сепии, и повышение контрастности и
однородности линий рельефа.

Обращаю внимание - в примере, в растровых линиях рельефа преобладают
красные и зелёные тона и мало синего цвета (то е. линии коричневые).
Это важно помнить при подборе масок по гистограммам на этапе бинаризации.

Цепочка операций до бинаризации (см. 3_relief.LOG в архиве проекта):

------------------ 3_relief.tif ------------------

1. Изменение растра 3_relief.tif :
Размытие :
Фактор = 50
Радиус = 1

2. Изменение растра 3_relief.tif :
Усиление резкости :
Коэффициент = 200
Радиус = 4
Порог = 0

3. Изменение растра 3_relief.tif :
Размытие :
Фактор = 50
Радиус = 1

4. Изменение растра 3_relief.tif :
Усиление резкости :
Коэффициент = 200
Радиус = 4
Порог = 0

5. Изменение растра 3_relief.tif :
Размытие :
Фактор = 100
Радиус = 2

6. Бинаризация
Выделение ч.б.растра по 3 маскам

------------------ End Log ------------------

Растр после обработки но до бинаризации:
Start.jpg
Растр перед бинаризацией
Start.jpg (56.72 КБ) 8356 просмотров
Бинаризация.

!!! Опцию объединять маски - ОТКЛЮЧИТЬ!!!

Подбор трёх масок для:
1. Основной группы оттенков
2. Пересечений зелёных и коричневых линий
3. Светлые участки (маску подобрал небрежно, как выяснилось позднее)

Подбор диапазонов для основной маски.
(Важно помнить, что пересечение интервалов сразу по всем трём цветам
приводит к захвату серых оттенков чёрного - то е. мусора.)
Base_mask.jpg
Маска основного набора оттенков коричневого
Base_mask.jpg (61.12 КБ) 8356 просмотров
(продолжение в следующем посте)

Re: Как в 7.99 выделить линии из растра (JPEG,сепия и т. д.)

Добавлено: 15 сен 2010, 18:33
Григорий Степанов
Маска для заполнения разрывов в местах пересечения с зелёными линиями
Green_mask.jpg
Маска комбинационного цвета в местах пересечений с зелёными линиями
Green_mask.jpg (63.19 КБ) 8355 просмотров
Маска для светлых участков линий
Light_mask.jpg
Маска для светлых участков линий (подобрана плохо - готовил грабы экрана по одному участку и поленился посмотреть на светлые области. В итоге, на идеальных коричневых линиях на белом фоне возникли разрывы.)
Light_mask.jpg (60.68 КБ) 8355 просмотров
Затем нажатием кнопки "Бинаризовать", выделяем по этим маскам ч.б. растр,
сохраняем как 3_relief_BW.tif и добавляем его к проекту.

Сглаживаем и отделяем от мусора 3_relief_BW.tif следующей цепочкой операций:

1. Преобразовать к 24bpp

3. Изменение растра :
Размытие :
Фактор = 100
Радиус = 2

4. Изменение растра :
Усиление резкости :
Коэффициент = 500
Радиус = 7
Порог = 49

5. Изменение растра :
Усиление контраста :
Канал: RGB
Входные значения 219/223
Выходные значения 0/1.00/255

6. Преобразовать к B&W (1bpp)

На четвёртом шаге растр выглядит так:
Dif_and_Unsharp.jpg
Выделенный по трём маскам ч.б. растр после размытия и усиления резкости
Dif_and_Unsharp.jpg (53.79 КБ) 8355 просмотров
(продолжение в следующем посте)

Re: Как в 7.99 выделить линии из растра (JPEG,сепия и т. д.)

Добавлено: 15 сен 2010, 18:37
Григорий Степанов
Пятый шаг. Проводим границу между чёрным и белым.
Levels.jpg
Движки исходного диапазона должны быть совмещены. На рисунке они слегка раздвинуты для наглядности.
Levels.jpg (45.82 КБ) 8353 просмотра
Заново преобразуем растр к чёрно белому и переходим к трассировке.
В целом этапы подготовки ч.б. растра выглядят так:
Steps.jpg
Стадии процесса
Steps.jpg (179.17 КБ) 8353 просмотра
Здесь хорошо виден просчёт при подборе маски для светлых оттенков.
Линии на чистых белых участках порвались. Но переделывать лень.

Естественно, что масок может быть и больше. Но чем просто "тыкать"
в растр, лучше немного подумать и аккуратно подобрать диапазоны для
основных случаев наложения цветов...

Переходим к трассировке. Здесь (в 7.99) особого выбора нет,
но, тем не менее, поиграть с опциями можно.
(трассировка->оценка->откат->подбор параметров->трассировка)
Trace.jpg
Результат трассировки
Trace.jpg (184.32 КБ) 8353 просмотра

Re: Как в 7.99 выделить линии из растра (JPEG,сепия и т. д.)

Добавлено: 15 сен 2010, 18:41
Григорий Степанов
Сшивка разрывов.

Сразу после трассировки разрывы сшивать не рекомендуется.
Следует немного почистить вектор редактором. К сожалению,
в 7.99 это довольно занудная операция. Чудовищно не хватает
полноценной "векторной стёрки"...
Join.jpg
Внимание! Ни какой коррекции линий после трассировки не выполнялось. Сшивка "по живому".
Join.jpg (171.59 КБ) 8353 просмотра
ВНИМАНИЕ НОВИЧКАМ!
Технология оцифровки с помощью Easy Trace предполагает
выполнение сглаживание и оптимизацию формы линий
НА ЗАКЛЮЧИТЕЛЬНОЙ СТАДИИ ОБРАБОТКИ.
То есть после окончательной ручной коррекции формы
и связности автоматически оцифрованных линий.
Приведённый пример служит для демонстрации выделения
РАСТРОВЫХ линий и завершающие стадии оцифровки
не включает! Оптимизацию формы линий см. в роликах по 8.7

Re: Как в 7.99 выделить горизонтали рельефа (JPEG,сепия и т. д.)

Добавлено: 17 сен 2010, 19:01
Григорий Степанов
Архивы с примерами проектов использованными в посте см:
Как в 7.99 выделить линии из растра (JPEG,сепия и т. д.)