Система нахождения графических примитивов на изображении на основе преобразования Хафа

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 20.03.2012
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

public Point[] HouhPoints (ImageSource source, int threshold, int width, int gap) - возвращает множество особенных точек, найденных детектором на основе отрезков, обнаруженных преобразованием Хафа. Threshold - значение аккумулятора, при котором отрезок считается найденным, width - минимальная длина, найденных отрезков, gap - расстояние между ними.

public Line[] HoughLines(ImageSource source, string type, int threshold, int width, int gap) - возвращает множество отрезков, найденных преобразованием Хафа. Тип преобразования задается параметром type.

public Circle[] HoughCircles (ImageSource source, double thresh, double acthresh, double resol, int gap, int minR, int maxR) - возвращает множество окружностей, найденных преобразованием Хафа. Resol задает размерность фазового пространства (если 1, то размерность фазового пространства 2). MinR и maxR - характеристики радиуса, найденных окружностей.

Методика нахождения прямоугольников и треугольников, основывается на прямых найденных на основе класса HoughLines, из которых строится заданный примитив с учетом аппроксимационного параметра approx.

2.3 Руководство пользователя

Требование к программному и аппаратному обеспечению

Для корректной и эффективной работы программного продукта необходима система на базе Pentium 4 с тактовой частотой процессора не менее 2 ГГц, 512 Мб ОЗУ.

Программным обеспечением для данной системы является .Net Framework 4, а также дополнительные библиотеки EmguCV.

Выполнение программы

Для запуска программы необходимо запустить исполняемый файл HoughTransformSystem.exe. Внешний вид программы представлен на рисунке 18.

Главное окно программы состоит из 5 областей:

1) Изображения - исходное изображение и результат обработки после каждой из операций.

2) Окно обработки - состоит из 6 вкладок с различными фильтрами, а также с механизмами для осуществления преобразования Хафа.

3) Информация об изображении - отображает полный набор сведений об изображении: имя файла, путь к нему, размер файла, атрибуты и т.д.

4) Стек операций - представлен в виде списка, при выполнении каждой операции добавляется запись о ее совершении.

5) Графические примитивы - отображает информацию о найденных примитивах, позволяет экспортировать эту информацию в виде pvt - файла.

2.4 Тестирование ПП

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

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

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

Рисунок 19 - Быстродействие системы (мс)

Рисунок 20 - Точность системы

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

2.5 Выводы по главе

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

ЗАКЛЮЧЕНИЕ

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

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

– Рассмотрены существующие алгоритмы и методы детектирования графических примитивов на изображении. Приведены их достоинства и недостатки.

– Проведен обзор основных этапов предварительной обработки изображения. Изучены шумоподавляющие фильтры (медианный фильтр, фильтр Гаусса), операторы выделения краев (Собела, Лапласа, Канни).

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

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

– Проведено тестирование программного продукта. Выявлены недостатки и преимущества реализованных алгоритмов в части быстродействия и точности.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Абламейко С.В. Обработка изображений: технология, методы, применение. Учебное пособие. - М.: Амалфея, 2000. - 304 с.

2. Анисимов Б.В., Курганов В.Д., Злобин В.К. Распознавание и цифровая обработка изображений: Учебное пособие для студентов вузов. - М.: Высш.шк., 1983. - 295 с. ил.

3. Гонсалес Р., Вудс Р. Цифровая обработка изображений : Пер.с англ., М.: Техносфера, 2005. - 1072 с. ил.

4. Сойфер В.А. Методы компьютерной обработки изображений. - 2-е изд., испр. - М.: ФИЗМАТЛИТ, 2003. - 784 с.

5. Форсайт Д., Понс Ж. Компьютерное зрение. Современный подход. : Пер. с англ. - М.: Издательский дом "Вильямс", 2004. -928 с. ил.

6. Яне Б. Цифровая обработка изображений. : Пер.с англ. - М.: Техносфера, 2007. - 584 с.

7. Canny J. A Computational Approach To Edge Detection // IEEE Trans. Pattern Analysis and Machine Intelligence, 1986. - pp. 679-698.

8. Duda R. O., Hart P. E. Use of the Hough Transformation to Detect Lines and Curves in Pictures // Comm. ACM, Vol. 15, 1972. - pp. 11-15.

9. Galambos C., Kittler J., Matas J. Gradient based progressive probabilistic Hough transform // IEE Proc. Vision, Image and Signal Process., vol: 148, num: 3. - pp.158-165

10. Gonsales R., Woods R., Eddins S. Digital Image Processing using MATLAB. - New Jersey, USA: Prentice Hall, 2004. - 616 p.

11. Harris C., Stephens M. A combined corner and edge detector // Proceedings of the 4th Alvey Vision Conference, 1988. - pp 147-151.

12. Hough P. Machine Analysis of Bubble Chamber Pictures, Proc. Int. Conf. High Energy Accelerators and Instrumentation, 1959. - pp 153-163.

13. Ecabert O., Thiran J. Adaptive Hough transform for the detection of natural shapes under weak affine transformation // Pattern Recognition Letters (25), No. 12, September 2004. - pp. 1411-1419.

14. Kiryati N. Randomized or Probabilistic Hough Transform: Unified Performance Evaluation // Pattern Recognition Letters, Vol. 21, 2000. - pp. 1157-1164.

15. Serra J. Image analysis and mathematical morphology. - London, England: Academic Press Inc., 1982. - 610 p.

16. Xu L., Oja E., and Kultanan P. A new curve detection method: Randomized Hough transform (RHT) // Pattern Recog. Lett. 11, 1990. - pp. 331-338.

17. Дегтярева А., Вежневец. В. Преобразование Хафа (Hough transform). [Электронный ресурс]. - http://cgm.computergraphics.ru/content/view/36.

Размещено на Allbest.ru


Подобные документы

  • Основные правила нахождения монохромных изображений. Задача преобразования Хафа. Выделение кривых, образованных точками интереса. Выделение прямых и окружностей на изображении. Модификации преобразования Хафа. Вероятностное и случайное преобразование.

    презентация [127,4 K], добавлен 26.12.2012

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

    контрольная работа [220,7 K], добавлен 27.04.2012

  • Создание изображений при помощи набора графических примитивов (отрезки прямых, прямоугольники, треугольники, эллипсы) и алглритмы зеркального преобразования пространства. Изучение теоретических основ векторной графики, среды программирования С++ Builder.

    курсовая работа [338,9 K], добавлен 02.03.2010

  • Растровые и векторные графические редакторы. Формирование изображений, форматы графических файлов. Особенности векторной графики, ее достоинства. Построение треугольника и гиперболы по алгоритму Бразенхема. Математические модели поверхностей и объектов.

    курсовая работа [769,5 K], добавлен 21.12.2013

  • Назначение и стандарты реализации OpenGL для Windows, порядок подключения графической библиотеки. Основные функции и синтаксис команд. Рисование примитивов, видовые и аффинные преобразования. Моделирование двумерных графических объектов и анимации.

    лабораторная работа [35,0 K], добавлен 04.07.2009

  • Файлы BGI и содержимое модуля Graph, инициализация и закрытие графических режимов, их классификация, анализ и управление. Рисование графических примитивов и фигур, управление цветами и шаблонами, вывод текста, выбор шрифта и стиля, сжатия изображения.

    реферат [65,3 K], добавлен 31.05.2010

  • Практическое применение индексированного цвета для разработки Web-графики. Установка параметров преобразования в индексированные цвета. Вычисление цветов для создания палитры на основе цветов, имеющихся в изображении. Прозрачные области на изображении.

    контрольная работа [544,0 K], добавлен 21.03.2012

  • Разработка программы AutoCAD как двух- и трёхмерная система автоматизированного проектирования и черчения. Использование элементарных графических примитивов: точки, отрезка, круга, дуги, прямой, эллипса, сплайна, полилинии, мультилинии и мультитекста.

    реферат [147,7 K], добавлен 22.11.2011

  • Этапы разработки системы реального времени для распознавания лиц на статическом изображении в условиях сложных сцен. Основные понятия алгоритма AdaBoost. Использование примитивов Хаара для описания свойств изображений. Среда разработки "Borland Delphi".

    курсовая работа [6,8 M], добавлен 06.01.2011

  • Методы вывода графических примитивов в программе Delphi. Основные методы, объявленные в классе TCanvas. Использование объектов Brush, Pen, Front. Примеры применения функции Round Rect. Отличия способов рисования прямоугольника Polyline и Polygon.

    курсовая работа [834,1 K], добавлен 17.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.