автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.14, диссертация на тему:Синтез алгоритмов распознавания графических образов по полутоновым изображениям на основе структурно-лингвистического подхода

кандидата технических наук
Питерцев, Михаил Эдуардович
город
Череповец
год
2000
специальность ВАК РФ
05.13.14
Диссертация по информатике, вычислительной технике и управлению на тему «Синтез алгоритмов распознавания графических образов по полутоновым изображениям на основе структурно-лингвистического подхода»

Оглавление автор диссертации — кандидата технических наук Питерцев, Михаил Эдуардович

Введение

Глава 1. Современное состояние проблемы построения алгоритмов распознавания графических образов на основе структурно -лингв истическо го подхода.

1.1. Особенности структурно-лингвистического подхода в задачах распознавания графических образов.

1.2. Моделирование информационного сигнала, поступающего на вход системы распознавания.

1.3. Постановка задачи синтеза алгоритмов распознавания графических образов на основе структурно-лингвистического подхода.

Глава 2. Построение алгоритмов распознавания графических образов на основе структурно-лингвистического подхода.

2.1. Процедура выделения образующих элементов.

2.2. Процедура выделения грамматик.

2.3. Экспериментальные исследования алгоритмов распознавания графических образов, построенных с помощью предложенных процедур.

Глава 3. Повышение эффективности работы алгоритмов распознавания графических образов на основе структурно-лингвистического подхода.

3.1. Реконструкция изображений графических образов.

3.2. Процедура повышения эффективности распознавания.

3.3. Экспериментальные исследования процедуры повышения эффективности алгоритмов распознавания графических образов.

Глава 4 Система автоматизированного проектирования алгоритмов распознавания графических образов на основе структурно-лингвистического подхода.

4.1. Описание системы автоматизированного проектирования алгоритмов распознавания графических образов.

4.2. Проектирование и экспериментальные исследования алгоритма распознавания номеров подвижного состава железнодорожного транспорта.

4.3. Перспективы развития систем распознавания графических образов на основе структурно-лингвистического подхода.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Питерцев, Михаил Эдуардович

В настоящее время системы технического зрения, обеспечивающие автоматический ввод и обработку изображений, все шире внедряются в нашу жизнь. Это металлургия, машиностроение, транспорт, космическая и оборонная отрасли, охранные комплексы и многое другое. В таких системах изображение реального объекта формируется некоторым электронным датчиком наблюдения, вводится в ЭВМ и обрабатывается с использованием специальных алгоритмов, предназначенных для решения различных задач.

Одной из важнейших среди них является задача распознавания, когда требуется соотнести полученное изображение реального объекта с определенным образом из некоторого заданного множества.

Методы распознавания, в общем случае, представлены двумя основными группами: параметрические и структурно-лингвистические. Несмотря на свойственные параметрическому подходу недостатки, он нашел самое широкое применение при обработке бинарных изображений достаточно высокого качества, в распознавании документов, табличных форм и т.п. [12] Однако при разработке систем технического зрения, ориентированных на контроль движущихся объектов, часто приходится решать задачи распознавания графических объектов, представленных полутоновыми изображениями низкого качества и разрешения [11]. Параметрический подход в этих условиях, как правило, не обеспечивает получение приемлемых результатов и становится малоэффективным[72]. В такой ситуации структурнолингвистический подход, обеспечивающий большую гибкость и адаптивность, становится наиболее перспективным на пути успешного решения задачи распознавания.

Существующие процедуры[10,12,72], реализующие структурно-лингвистический подход, обладают рядом общих свойств:

• они, как правило, ориентированы на бинарные изображения;

• выявление образующих элементов и грамматик осуществляется человеком вручную со всеми присущими этому методу недо статками.

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

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

Для достижения поставленной цели в работе решаются следующие основные задачи:

- анализ современного состояния проблемы построения алгоритмов распознавания графических образов на основе структурно-лингвистического подхода;

- разработка автоматизированной процедуры синтеза алгоритмов, обеспечивающих распознавание графических образов, представленных полутоновыми изображениями и основанных на структурно-лингвистическом подходе;

- разработка и исследование процедур повышения эффективности алгоритмов распознавания графических образов по полутоновым изображениям;

- разработка и исследование автоматизированной системы синтеза алгоритмов распознавания графических образов по их полутоновым изображениям на основе структурно-лингвистического подхода.

Для решения поставленных задач использован аппарат теории распознавания образов, теории проективной геометрии и функционального анализа, теории вероятностей и математической статистики.

Научная новизна результатов, полученных в диссертационной работе, заключается в следующем:

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

2) Разработана процедура повышения надежности проектируемых алгоритмов распознавания, основанная на дополнительном фрактальном преобразовании изображений в случае их существенных искажений, использующая новый способ оценки уровня искажений на базе нейронной сети прямого распространения и обеспечивающая более высокие показатели эффективности распознающих алгоритмов.

3) Предложен новый алгоритм распознавания символов номеров объектов подвижного состава железнодорожного транспорта по их полутоновым изображениям, основанный на использовании стрзгктурно-лингвистического подхода, обладающий высокими показателями надежности в условиях воздействия таких искажающих факторов, как проективные искажения, искажения объекта распознавания и возмущения передающей среды.

Практическая ценность полученных в диссертационной работе результатов заключается в следующем:

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

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

3. Предложена структура нейронной сети для алгоритма оценки уровня искажений и даны рекомендации по выбору ее параметров.

4. Разработанная в рамках диссертации автоматизированная система проектирования распознающих алгоритмов использована при создании оптико-электронной системы выявления и распознавания регистрационных номеров объектов подвижного состава железнодорожного транспорта, создаваемой Череповецким научным координационным центром РАН для Череповецкого отделения Северной железной дороги.

5. Результаты диссертации используются в учебном процессе Череповецкого филиала Санкт-Петербургского государственного технического университета в курсе "Основы построения АСУ" и "Структуры и алгоритмы обработки данных" для специальности 220400 - "Программное обеспечение вычислительной техники и автоматизированных систем".

Результаты всех проведенных исследований являются составной частью научно-исследовательских работ, проводимых в Череповецком научном координационном центре РАН и Череповецком филиале СПбГТУ.

Основные положения диссертационной работы докладывались и обсуждались на Международной конференции "Информационные технологии в производственных, социальных и экономических процессах" (Череповец, 1999), на XIII Межвузовской военно-научной конференции (Череповец, 1999), на Международной научно-технической конференции "Прогрессивные процессы и оборудование металлургического производства" (Череповец, 1998), а также на научно-технических семинарах Череповецкого государственного университета и Череповецкого научного координационного центра РАН в 1997-2000 гг.

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

Первая глава содержит анализ современных методов распознавания, обсуждаются их основные достоинства и недостатки. В главе обосновывается выбор структурно-лингвистического подхода как основополагающего для решения задач распознавания графических образов, представленных полутоновыми изображениями низкого качества. Проводится анализ характера искажений, возникающих при наблюдении движущихся объектов. Дана постановка проблемы, определены задачи, решаемые в диссертационной работе.

Во второй главе рассматриваются вопросы автоматического выделения образующих элементов и грамматик по заданному набору обучающих полутоновых изображений графических образов. Обосновывается выбор параметров алгоритма в зависимости от типа решаемой задачи.

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

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

В приложениях приведены:

1. Исходный текст программы синтеза алгоритмов распознавания графических образов, представленных полутоновыми изображениями на основе структурно лингвистического подхода.

2. Исходный текст распознавания номеров подвижного состава железнодорожного транспорта.

На защиту выносятся следующие положения:

1. Методика синтеза алгоритмов распознавания графических образов, представленных полутоновыми изображениями, основанная на использовании структурно-лингвистического подхода.

2. Процедура повышения эффективности алгоритмов распознавания, основанная на дополнительном фрактальном преобразовании изображений в случае их существенных искажений.

3. Алгоритм распознавания номеров подвижного состава железнодорожного транспорта.

4. Алгоритмическое и программное обеспечение автоматизированной системы проектирования алгоритмов распознавания графических образов, использующих структурно-лингвистический подход.

Заключение диссертация на тему "Синтез алгоритмов распознавания графических образов по полутоновым изображениям на основе структурно-лингвистического подхода"

Выводы по четвертой главе.

1. На базе предложенных в работе решений, построена автоматизированная система синтеза алгоритмов распознавания графических образов, представленных полутоновыми изображениями.

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

3. Рассмотрены пути дальнейшего совершенствования предложенных алгоритмов и систем распознавания.

Заключение

Наиболее существенные научные и практические результаты заключаются в следующем:

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

2) Разработана процедура повышения надежности проектируемых алгоритмов распознавания, основанная на дополнительном фрактальном преобразовании изображений в случае их существенных искажений, использующая новый способ оценки уровня искажений на базе нейронной сети прямого распространения и обеспечивающая более высокие показатели эффективности распознающих алгоритмов.

3) Предложен новый алгоритм распознавания символов номеров объектов подвижного состава железнодорожного транспорта по их полутоновым изображениям, основанный на использовании структурно-лингвистического подхода, обладающий высокими показателями надежности в условиях воздействия таких искажающих факторов, как проективные искажения, искажения объекта распознавания и возмущения передающей среды.

4) Разработано программное обеспечение автоматизированной системы проектирования, использование которой позволяет по обучающей выборке изображений синтезировать алгоритмы распознавания графических образов, представленных их полутоновыми изображениями, основанные на структурно-лингвистическом подходе.

5) Предложены параметры и инженерная методика настройки алгоритма реконструкции изображения, используемого в задаче повышения надежности распознавания графических образов.

6) Предложена структура нейронной сети для алгоритма оценки уровня искажений и даны рекомендации по выбору ее параметров.

7) Разработанная в рамках диссертации автоматизированная система проектирования распознающих алгоритмов использована при создании оптико-электронной системы выявления и распознавания регистрационных номеров объектов подвижного состава железнодорожного транспорта, разрабатываемой Череповецким научным координационным центром РАН для Череповецкого отделения Северной железной дороги.

8) Результаты диссертации используются в учебном процессе Череповецкого филиала Санкт-Петербургского государственного технического университета в курсе "Основы построения АСУ" и "Структуры и алгоритмы обработки данных" для специальности 220400 - "Программное обеспечение вычислительной техники и автоматизированных систем".

Библиография Питерцев, Михаил Эдуардович, диссертация по теме Системы обработки информации и управления

1. Абломейко C.B. Распознавание графических изображений: обзор методов. Минск, ИТК, 1988.

2. Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: Классификация и снижение размерности. Справочник. М., Финансы и статистика, 1989. -250с.

3. Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: Исследование зависимостей: Справочник. М., Финансы и статистика, 1985. -182с.

4. Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: Основы моделирования и первичная обработка данных: Справочник. М., Финансы и статистика, 1983. -225с.

5. Аноприенко А. Я. Тетракоды в кодировании и распознавании образов.http: //www.cs.dgtu.donetsk.ua/events/issuel/ANOP3.html

6. Барабаш Ю.Л., и др. Вопросы статистической теории распознавания, Под ред. Б.В. Барского, М., Советское радио, 1967. -400с.

7. Бедлман Р., Задэ Л. Принятие решений в расплывчатых условиях.-В кн.:"Вопросы анализа и процедуры принятия решений". М., Мир, 1976. -С. 172-215.

8. Белов А, Тихомиров В. Сложность алгоритмов. «Квант», 1999, N 2

9. Бендат Дж., Пирсол А. Прикладной анализ случайных данных. /Пер. с англ. М., Мир, 1989. -350с.

10. Браверман Э.М., Мучник И.Б. Структурные методы обработки эмпирических данных. М., Наука, 1983. 464с.

11. Бродская И.M. Алгоритм распознавания частично видимых объектов. М., ИПМ, 1980.

12. Васильев В.И. Распознающие системы: Справочник. Киев, Наукова думка, 1983. -230с.

13. Ватолин Д.С. Алгоритмы сжатия изображений. Издательский отдел факультета Вычислительной Математики и Кибернетики МГУ им. М.В. Ломоносова, 1999 г

14. Верхаген К., Дейн Р. Распознавание образов: Состояние и перспективы. М., Радио и связь, 1985.

15. Гнеденко Б.В. Курс теории вероятностей: Учебник. М., Наука, 1988. -380с.

16. Горбань А.Н. и др. Нейроинформатика. http: //neurnews.m4.bmstu.ru/book/neurinf0/ann.htm

17. Горелик A.A., Скрипкин В.А., Методы распознавания, Изд.2, М., Высшая школа, 1984. -219с.

18. Грузман И.С., Спектор A.A. Цифровая обработка изображений в информационных системах, http: //pclub.technoart.net/books/imageprocessing/imageprocessin g. shtml

19. Дадиев Т.М., Лосев Г.Ф. Параметрическая модель локальных алгоритмов обработки, анализа и распознавания изображений, АН СССР, Научн. совет по компл. Проблеме «Кибернетика» М., Б.И., 1991

20. Дейкстра Э.В. Дисциплина программирования, http : / / www. р arkline. ru/ Library / koi/ CTOTOR/ DE JKSTRA/

21. Денисов A.A. Информационные основы управления. Л., Энергоатомиздат, 1983.

22. Дуда Р., Харт П. Распознавание образов и анализ сцен. /Пер.с англ., М., Мир, 1978.

23. Дюран Б., Оделл П. Кластерный анализ, /Пер с англ., М., Статистика, 1977.

24. Ермольев Ю.М. Методы стохастического программирования. М., Наука, 1976.

25. Желтов С.Ю. Метод адаптивной субпиксельной корреляции предварительной сегментации изображений, М., НИИ авиационных систем, 1997.

26. Заде А. Понятие лингвистической переменной и его применение к принятию приближенных решений. М., Наука, 1976. -260с.

27. Иваненко В.И., Лабковский В.А., К вопросу о накоплении информации в адаптивных системах управления. В сб.: Адаптивные системы управления /ИК АН УССР. Киев, 1977.

28. Иванова В.М., и др. Математическая стати стека, Изд. 2, М., Высшая школа, 1981. -370с.

29. Кальфа В., Овчинников В.В. и др. Основы автоматизации управления производственными процессами. М., Советское радио, 1980.

30. Ким Дж.-О., и др. Факторный, дискриминантный и кластерный анализ, /Пер.с англ., М., Финансы и статистика, 1989. -215с.

31. Кнут Д. Искусство программирования, http: / / www. parkline. ru / Library / koi / CTOTOR / KNUT/

32. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. М., Наука, 1968. -832с.

33. Королев О.Ф., Марлей В.Е. Вычисления на распределенных алгоритмических сетях. / / Материалы первой международной конференции по проблемам самооорганизации и управления в сложных коммуникационных пространствах. С-П.: 1997, с 58-60.

34. Кузин Д.Т. Основы кибернетики. (Основы кибернетических моделей). Т.2. М., Энергия, 1979. -584с.

35. Куропаткин П.В. Оптимальные и адаптивные системы. М., Высшая школа, 1980. -270с.

36. Куссель Э.М. Ассоциативные нейроподобные структуры. Киев, Наукова думка, 1990.

37. Аевкович-Маслюк Л., Переберин А. Вейвлет-анализ, http: / / inet.keldysh.ru / gc98/cd / tutorial / leolev /

38. Лисицын С.Б. Решить ключевые задачи, Кубань-бизнес (связь, информатика), 17-23 июня 1994. Краснодар, Кубань-бизнес, 1994.

39. Ауценко Е.В. Автоматизированная система распознавания образов: математическая модель и опыт применения, В сб., "Материалы конференции: В.И.Вернадский и современность (к 130-летию со дня рождения)", Краснодар, Краснодарское кн. изд-во, 1993.

40. Ауценко Е.В. Математическая модель автоматизированной системы распознавания образов, Сб.тезисов докладов VIII Всесоюзного съезда психологов. М., Наука, 1989. -С.25-26.

41. Ауценко Е.В. Теоретические основы и технология адаптивного семантического анализа в поддержке принятия решений (На примере универсальной автоматизированной системыраспознавания образов "ЭЙДОС-5.1"). Краснодар, КЮИ МВД РФ 1996. 280с.

42. Луценко Е.В. Универсальная автоматизированная система распознавания образов "ЭЙДОС-4". ИЛ №438-93, КЦНТИ, 1993. -4С.

43. Майерс Г. Надежность программного обеспечения. /Пер. с англ., М., Мир, 1980. -300с.

44. Макаров И.М. Теория выбора и принятия решений. М., Наука, 1987. -350с.

45. Мамиконов А.Г. Управление и информация. М., Наука, 1975. -207с.

46. Марлей В.Е. Алгоритмические сети и параллельные граф-схемы алгоритмов. // Проблемы информационной технологии и интегральной автоматизации производства. Л.: Наука, 1989. С. 130-136.

47. Месарович М., Мако Д., Такахара И. Теория иерархических многоуровневых систем. М., Мир, 1973. -312с.

48. Методы и алгоритмы анализа структуры многомерных данных.http: //www.neuropower.de/rus/books/001 /htm/gl310.htm

49. Моделирование процессов обработки информации и управления. М., МФТИ, 1990.

50. Моррис У. Наука об управлении. Байесовский подход. М., Мир, 1971.

51. Орловский С. А. Проблемы принятия решений при расплывчатой информации. М., Наука, 1981.

52. Перегудов Ф.И., Тарасенко Ф.П., Введение в системный анализ, М., Высшая школа, 1989.

53. Питерцев М.Э. О некоторых подходах к выбору признаков для распознавания полутоновых изображений / / Информационные технологии в производственных, социальных и экономических процессах: Материалы международной конференции. Череповец, 1999. С.291.

54. Поспелов Г.С., Ириков В. А. Системно-программное планирование. М., Советское радио, 1975.

55. Поспелов Г. С., Ириков В. А., Курилов А.Е. Процедуры и алгоритмы формирования комплексных программ. М.: Наука, 1985, 423с.

56. Построение экспертных систем. /Пер. с англ. М., Мир, 1987. -420с.

57. Прэт У. Цифровая обработка изображений. Москва, Мир, 1982

58. Прикладная статистика: Классификация и снижение размерности: Справочник. / Под ред. С.А.Айвазяна. М., Финансы и статистика, 1989. -450с.

59. Райфа Г. Анализ решений. Введение в проблемы выбора в условиях неопределенности. М., Наука,1977. -120с.

60. Русын Б.П. Структурно-лингвистические методы распознавания образов. М., Наука, 1989.

61. Словарь по кибернетике. Под ред.академика В.М.Глушкова.-Киев, 1979.

62. Спиди К., Браун Р., Гудивин Дж. Теория управления. М., Мир, 1973.

63. Темников Ф.Е. и др., Теоретические основы информационной техники, М., Энергия, 1979.

64. Ту Дж., Гонсалес Р., Принципы распознавания образов, /Пер.с англ., М., Мир, 1978.

65. Уинстон П., Искусственный интеллект, /Пер.с англ., М., Мир, 1980.

66. Уоссерман Ф. Нейрокомпьютерная техника, М., Мир, 1992.

67. Фешберн П. Теория полезности для принятия решений. М., Наука, 1978.

68. Френкель A.A., Бар-Хиллел, Основания теории множеств, М., Мир, 1966.

69. Фу К., Структурные методы в распознавании образов. /Пер.с англ., М., Мир, 1977.

70. Хартли Р.В.Д., Передача информации,- В кн.: Теория информации и ее приложения/Пер.под ред. А.А.Харкевича. М., Физматгиз, 1959.

71. Хемминг Р.В., Численные методы (для научных работников и инженеров). /Пер. с англ., М., Наука, 1972.

72. Шеннон Р. Имитационное моделирование систем искусство и наука. М., Мир, 1978.

73. Яглом A.M., И.М.Яглом, Вероятность и информация, Изд-е третье, переработанное и дополненное. М., Наука, Главная редакция физико математической литературы, 1973. -511с.

74. Adobe inc. www.adobe.com/photoshop

75. Anderson, Т. W. An introduction to multivariate statistical analysis. New York, Wiley, 1958.

76. Bani-Eqbal, В., Speeding Up Fractal Image Compression, Technical report, University of Manchester, 1994.

77. Davis G. A wavlet-based analysis of fractal image compression. IEEE transactions on image processing, http://www.cs.dartmouth.edu/~gdavis 1997

78. Hartigan, J. A. Clustering algorithms. New York, Wiley, 1975.

79. Jacquin A., "Fractal image coding based on a theory of iterated contractive image transformations", Visual Comm. and Image Processing, vol. SPIE-1360, 1990.

80. Kauffman R. Wavelet analysis and signal processing. Yale University, 1993.

81. Malaviya A. Extracting meaningful handwriting features with fuzzy aggregation method. Proceedings of the thrid international conference on document analysis and recognition, pp. 841-844, 1995.

82. McLachlan, G. J. Discriminant analysis and statistical pattern recognition. New York, Wiley, 1992.

83. Nastar C. Generalized Image Matching : Statistical Learning of Physically-Based Deformations. Cambridge, Fourth European Conference on Computer Vision (ECCV'96) , 1996.

84. Parzen, E. Mathematical considerations in the estimation of spectra: Comments on the discussion of Messers, Tukey, and Goodman. Technometrics, 3, 1961.

85. Qien, G.E., Z. Baharav, S. Lepsqy, E. Karnin. A new improved collage theorem with appplications to multiresolution fractal image coding. In Proc. ICASSP, 1994.

86. Ripley, B. D. Pattern recognition and neural networks. Cambridge, Cambridge University Press, 1996.

87. Saupe, D., Hamzaoui, R., Hartenstein, H., Fractal image compression An introductory overview, in: Fractal Models for Image Synthesis, Compression and Analysis, D. Saupe, J. Hart (eds.), SIGGRAPH'96 Course Notes, ACM, New Orleans, Louisiana, Aug. 1996.

88. Sebestyen, G. S. Decision making processes in pattern recognition. New York, Macmillan, 1962.

89. Sokal, R. R., & Sneath, P. H. A. Principles of numerical taxonomy. San Francisco, W. H. Freeman & Co., 1963.

90. A.Stepanov, S.Zheltov, Yu.Vizilter, Shape Analysis using Pytiev morphologic paradigm and its' use in machine vision, SPIE vol.2350, 1994.

91. Tomasi C. Detection and tracking of point features. Carnegie Mellon University, 1991.

92. Tryon, R. C. Cluster Analysis. Ann Arbor, MI, Edwards Brothers, 1939.class CClusterltem : public CObject {

93. DSCLARESERIAL (CClusterltem) public:void Serialize(CArchive &ar); void Empty();double Distance (CClusterltem. ^ itera, DWORD dist)

94. CClusterltem(); virtual -CClusterltem();название

95. CString m CommonName; // данныеvector <double> mValue; // конструткор копирования

96. DECLARESERIAL(CCluster) public:1. CCluster();

97. CCluster(const CCluster &clustin); virtual -CCluster(;; public:

98. CTypedPtrArray-cCObArray, CClusterltem*> mHolder; int rr. Layer; int m xl; int mx2;class CClusterLayer : public CObject {

99. DECLARESERIAL(CClusterLayer) public:double FindFirstDistance() ;double FindNextDistar.ce (double next);int GetClustersCount();

100. CCluster * C-etCluster (int index);void JoinCiusters(CDWordArray &items);

101. CString GetStringToTable ();

102. DWORD awStyle = WS CHILD | WSBORDER I WSTABSTOP |1. WSVISIBLE);1. Attributes public:1. Operations public:1. Overrides

103. Generated raessage nap functions1. CPoint mOrigin;boo., m Dragging;bool m Resizing;boo., m Calculated;bool nriDravjAsTabl9 ;

104. DECLAREME3SAGEMAP() void OnDraw(CDC *pDC); private:

105. Microsoft Visual С++ will insert additional dec before the previous line.

106. Реализация класса CclusterTree

107. CiusterTree.cpp : implementation file / /include "stdafx.h" #include "CiusterTree.h" #include "rnath.h"ifdef DEBUG #define new DEBUGNEW #undef THISFILEstatic char THISFILE. = FILE;ttendif

108. PLEMENTJSERIAL(CCiusterI tern, CObject, 1} IMPLEMENTJSERIAL(CCluster, CObject, 1); IMPLEMENTSERIAL(CC1usterLayer, CObject, 1) unsigned int CClusterLayer::mOounter = 0;//1. CClusterTree

109. CClusterTree::CClusterTree() {1. P.egisterWindowClass (} ;mcrAxisColor = ::GetSysColor(COLORWINDOWTEXT);mcrBackColor = ::GetSysColor(COLOR WINDOW);m Dragging m Resizing

110. CClusterTree::-CCIusterTiee;)int count = m ClusterLayers.GetSize();for (int i=0; i<count; i++) {m CiusierLayers . GetAt fi.) ->F.emcveAIl () ;delete mClusterLayers.GetAt(1);m ClusterLayers.RenoveAil();

111. BEGINMESSAGEMAP(CClusterTree, CWnd) //{{AFXMS GMA?(C CIu s t e r T r e e) ONWMLBUTTONDOWN() ON WM LBUTTONUP()false; = false;

112. NWMM0 U S EM0VE;) ONWMLBUTTONDBLCLK() ON WMPAINT() //)'} AFXMSGMAP END MESSAGE MAP()

113. CClusterTree message handlersbool CClusterTree: : Register:?!ndowClass () {1. WNDCLASS wndcls;

114. HINSTANCE hlnst = AfxGetResourceHandle() ;if (!(::GetClassInfo(hlnst, CLTRCTRLCLASSNAME, &wndcls))) {otherwise we need to register a new classbool CClusterTree::Create(const RECT Srect, CWnd *parent, UIt-17 nID, DWORDdwStyle)

115. CSDBLCLK5 ! CSHREDPAW | CSVREDFAW; //1. DefWindowProc;wndcls.cbWndExtra = 0;hlnst;1. NULL;1. NULL;

116. NULL;//(HBRUSH) (COLOR3DFACE + 1); NULL;1. CLTRCTRL CLASSNAME;if { !AfxRegisterClass(Swndcls) ) AfxThrowResourceException! ) ; return FALSE;return TRUE;void CClusterTree::OnDraw(CDC *pDC)if (m Calculated)if (m DrawAsTable)else {

117. CRect rec; GetClientRect(rec) ; CBrush br (RGB(255, 255, 255) ) ; pDC->FillRect(Srec, &br);if ((!mResizmg) &S (!mDragging)) {m Background.Draw(pDC);1. DrawTree(pDC);mHorizAxis.Draw(pDC); YerticalAxis . Draw (pDC) ;

118. TODO: Add your message handler code here and/or call default m Dragging = false;

119. CWnd: :OnLButtonDblClk(nFlags , point) ;/////////////' / //////// / / / / / / / / / / / / / ./ / / // отработка нажатия левой клавиши мышки ////////////////////////////////////////void CClusterTree : : OnLBut tonDown ( UINT nFlags, CPoir.t point) {

120. CRect rect; GetWindowRect(Srect); if ((point.x >= rect.Width()-5) && (point.y >= rect . Height()-5))m Resizing = true;1. SetCaoture();

121. CWnd: :OnLButtonDown(nFlags, point) ;

122. CClustexTree : : OnLButtonL'p (UINT nFlags, CPoint point)

123. TODO: Add your message handler code here and/or call default if (m Dragging) /m Dragging = false; ReieaseCapture() ;if (m Resizing) {m Resizing = false; ReieaseCapture();1.validate();

124. CWnd::OnLButtonUp(nFlags, point);

125. CClusterTree: :OnKouseMove(UINT nFlags, CPoint point)

126. TODO: Add your message handler code here and/or call default CRect r;

127. GetClientRect(&r); CRect rec;1. GetWindowRect(&rec);

128. SetCursor(LoadCursor(NULL, IDCJSIZEALL));elseif ((point.x >= r.Width()-5) && (point.y >= r.Height()-5))

129. SetCursor(LoadCursor(NULL,IDCSIZENWSE))else {

130. SetCursor(LoadCursor (NULL, IDCARROW) );void CClusterTree::OnPaint() {

131. CPaintDC dc(this); // device context for painting OnDraw (&dc);