Распознавание Горизонталей (1027377)
Текст из файла
Распознавание горизонталей.
Постановка задачи.
Имеется чертёж в формате DWG. Необходимо распознать горизонтали на чертеже. На чертеже так же присутствуют точки рельефа, которые несут дополнительную информацию.
В данной задаче можно выделить 2 подзадачи:
1) Распознавание точек рельефа
2) Распознавание горизонталей
Анализ поставленной задачи.
Данная задача не может быть решена в автоматическом режиме (без участия человека (пользователя)) по нескольким причинам:
1) Исходные данные могут содержать ошибки приводящие к появлению неопределённостей
2) Условные графические изображения точек рельефа и горизонталей могут отличаться в разных чертежах
3) Критерий принадлежности текста точке не может быть строго задан.
Определение объектов распознавания
Перед тем как начать автоматизированное распознавание объектов, необходимо определить в каком виде заданы исходные данные.
Предположение 1. Точки рельефа и соответствующие им тексты находятся на отдельном слое.
Предположение 2. Горизонтали и утолщённые горизонтали расположены либо на 2-х соответствующих слоях, либо на одном слое.
Предположение 3. Горизонтали на чертеже представлены объектами Polyline или Polyline3d
Предположение 4. Тексты в на чертеже представлены объектами DBText
Задача: Необходимо создать инструмент позволяющий пользователю определять объект являющийся точкой рельефа (В чертеже пользователь должен выбрать один или более графических примитивов, обозначающих точку рельефа, и задать точку вставки). После чего на соответствующем слое будут найдены все аналогичные точки.
Распознавание точек рельефа
На данном этапе считается, что определены объекты распознавания.
1) Генерируется область поиска вокруг каждой из точек рельефа.
2) В данной области ищутся тексты. Информация о найденных текстах сохраняется.
3) Запускается алгоритм автоматического распознавания для тривиальных случаев
4) Определение высоты точки при помощи юзера (пользователя) в нетривиальном случае;
Если не все точки распознаны goto 3), иначе end
алгоритм автоматического распознавания
Основная идея: Если в области поиска данной точки есть только один свободный (не привязанный к какой-либо точке) текст, необходимо присвоить данный текст данной точке.
определение области поиска
В качестве области поиска используется вписанный в окружность радиуса R многоугольник (12-угольник).
определение радиуса R
От выбора радиуса R зависит как правильность автоматизированного распознания, так и количество точек распознанных автоматически:
Если R слишком большой, то все случаи будут не тривиальными и пользователю придётся определять значения высот для каждой точки.
Если R будет слишком мал, то точки, скорее всего, будут распознаны неправильно.
Для выбора радиуса R необходимо проанализировать всю ситуацию на чертеже.
1) для каждой точки находим кротчайшее расстояние до ближайшего текста
Предположение 5. Количество выбросов крайне мало.
Выбросы – точки для которых ближайший текст находится на расстоянии, много большем, чем среднее арифметическое расстояние для точек из 1)
2) из расстояний вычисленных в пункте 1) исключаем расстояния соответствующие выбросам.
3) берём максимальное расстояние.
4) прибавляем к нему 1, что гарантирует пересечение текста (а не касание)
Распознавание горизонталей
На этапе распознавания горизонталей предполагается, что завершился этап распознавания точек рельефа и точки рельефа распознаны правильно.
1) Генерируется область поиска вокруг распознанных точек.
2) В данной области ищутся точки (“соседние” с текущей)
3) далее последовательно “соединяем” текущую и соседние с ней точки секущей линией.
4) Определяем количество горизонталей пересечённых данной линией.
5) Округляем значение высоты текущей и соседней точек рельефа (с точностью до шага горизонталей (является настройкой)). Берём их разность и делим на шаг горизонталей. Получаем количество линий в простом случае (простой случай заключается в том, что между 2-мя точками высота горизонталей либо возрастает, либо убывает (сложный случай – между 2-мя точками существуют различные участки на которых значении горизонталей то возрастают то убывают. ))
6) Если кол-во горизонталей вычисленное в пункте 4) совпадает с количеством горизонталей вычисленном в 5), следовательно, присваиваем соответствующие значения высот горизонталям и метим их как распознанные. Иначе горизонтали остаются нераспознанными.
2
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.