Поиск объектов с помощью обобщенного преобразования Хафа
Этапы схемы решения задачи поиска прямых линий на цветном изображении с использованием преобразования Хафа. Общая структура приложения и рассмотрение структуры основной функции. Реализация поиска прямых с использованием функций библиотеки OpenCV.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 25.12.2015 |
Размер файла | 160,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки РФ
Московский государственный машиностроительный университет (МАМИ)
Факультет «Автоматизации и управления»
Кафедра «Автоматика и процессы управления»
«Поиск объектов с помощью обобщенного преобразования Хафа»
Дисциплина: «Разработка и применение систем технического зрения»
Студент группы 144-312:
Батькова А.В.
Преподаватель:
Идиатуллов Т.Т.
Москва, 2015г.
Задача поиска заданных геометрических примитивов на изображении (прямых, эллипсов, окружностей и т.п.) - одна из актуальных задач компьютерного зрения. Данная задача возникает при разработке приложений в сфере робототехники и видеоаналитики в процессе поиска объектов, имеющих типичную геометрическую форму. Также существует опыт применения методов поиска примитивов при распознавании рукописных текстов.
Обобщенное преобразование Хафа - наиболее известный метод определения положения геометрических примитивов заданной формы на изображении.
Преобразование Хафа - метод обнаружения прямых и более сложных кривых на бинарных изображениях. Метод позволяет определить параметры семейства кривых и обеспечивает поиск на изображении множества кривых указанного семейства. Первоначально метод был разработан применительно к поиску прямых линий, впоследствии был обобщен на произвольное семейство кривых, заданных параметрически.
Рассмотрим схему работы преобразования Хафа для определения прямых линий на изображении. Прямую на плоскости можно задать параметрически в виде (1), исходя из геометрического представления, показанного на рис. 1.
где R- величина перпендикуляра, опущенного из начала координат системы Oxy на прямую, и - угол наклона перпендикуляра относительно оси Ox , 0? и <2р.
преобразование линия хаф opencv
Рис. 1. Параметрическое представление прямой на плоскости
Тогда неявная функция, определяющая семейство прямых, может быть записана в форме (2).
Таким образом, через каждую точку (x,y) проходит несколько прямых, соответствующих разным значениям параметров R и и. По существу любой фиксированной точке (x0,y0) ставится в соответствие набор точек в пространстве параметров (R,и) . В свою очередь каждой точке (R0,и0) можно поставить в соответствие количество точек (x,y) , лежащих на прямой
Дискретность представления данных в машине требует введения сетки на плоскости параметров
И теперь каждой точке (R0,и0) будем ставить в соответствие количество точек, принадлежащих семейству прямых (3).
Выбрав ячейку сетки, которой соответствует максимальное количество точек, получим наиболее вероятную прямую. В качестве параметров этой прямой можно принять координаты центра ячейки сетки. Если необходимо выделить несколько прямых, то достаточно отсортировать множество ячеек сетки в порядке убывания числа точек и выбрать определенное количество первых ячеек.
Схема решения задачи поиска прямых линий на цветном изображении с использованием преобразования Хафа.
Схема решения задачи поиска прямых линий на цветном изображении с использованием преобразования Хафа включает несколько этапов:
1. Загрузка изображения.
2. Преобразование изображения в оттенки серого.
3. Поиск ребер на полученном изображении. Ребра можно найти, например, с использованием детектора Канни. Различные способы выделения ребер были рассмотрены в лабораторной работе «Базовые операции обработки изображений».
4. Применение преобразования Хафа к бинарному изображению, содержащему ребра.
5. Преобразование полученных параметров прямых из полярной системы координат в декартову систему, связанную с исходным изображением.
Общая структура приложения и основной функции.
Приложение состоит из основной функции и модуля hough_transform, содержащего две функции, которые реализуют поиск прямых линий средствами библиотек Intel® IPP и OpenCV соответственно, а также функцию отображения результирующего набора линий на изображении.
Рассмотрим структуру основной функции. На входе программы имеется цветное изображение, поэтому функция имеет единственный параметр командной строки. Основная функция включает выполнение нескольких действий:
1. Загрузка исходного изображения с использованием функции imread библиотеки OpenCV.
2. Вызов функции поиска прямых линий hough_opencv, реализованной в модуле hough_transform, которая выполняет поиск средствами OpenCV.
3. Вызов функции hough_ipp, также реализованной в модуле hough_transform. Функция выполняет определение прямых линий с использованием преобразования Хафа, реализованного в библиотеке Intel® IPP.
4. Отображение исходных изображений с отрисованным набором прямых линий.
5.Освобождение ресурсов, использованных для работы с изображением
Реализация поиска прямых с использованием функций библиотеки OpenCV.
Перейдем к рассмотрению функции hough_opencv. Функция принимает в качестве входных параметров исходное изображение srcImg и два вектора точек points1 и points2, каждая пара определяет прямую линию.
В начале блока функции объявим необходимые переменные.
Затем выполним преобразование цветного изображения в оттенки серого посредствам вызова функции cvtColor.
cvtColor(srcImg, grayImg, CV_RGB2GRAY);
Для полученного полутонового изображения выполним поиск ребер на изображении с использованием детектора Канни. Схема работы алгоритма Канни и описание параметров соответствующей функции библиотеки OpenCV было приведено в лабораторной работе «Базовые операции обработки изображений». Дополнительно выполним отображение бинарного изображения ребер.
Далее к бинарному изображению, содержащему ребра, применим преобразование Хафа посредствам вызова функции HoughLines. Функция принимает следующий набор параметров:
1. edges - исходное бинарное изображение ребер.
2. lines - результирующий вектор прямых линий.
3. rhoStep - шаг дискретизации сетки по радиусу.
4. thetaStep - шаг дискретизации по углу наклона перпендикуляра.
5. houghThreshold - порог, по которому выполняется отсечение ячеек (фактически минимальное количество точек в ячейке, чтобы линия с соответствующими параметрами была продетектирована).
Осталось преобразовать полученные параметрические координаты в декартову систему координат, связанную с изображением, и освободить память, использованную для хранения временных изображений.
Размещено на Allbest.ru
...Подобные документы
Основные правила нахождения монохромных изображений. Задача преобразования Хафа. Выделение кривых, образованных точками интереса. Выделение прямых и окружностей на изображении. Модификации преобразования Хафа. Вероятностное и случайное преобразование.
презентация [127,4 K], добавлен 26.12.2012Существующие методы нахождения графических примитивов и программных реализаций. Базовое преобразование Хафа: поиск прямых, выделение окружностей на изображении, нахождение кривых высшего порядка. Составление руководства программиста и пользователя.
курсовая работа [2,7 M], добавлен 20.03.2012Рассмотрение принципов поисковой системы и процедуры проведения поиска по запросам пользователей "Яндекса". Изучение структуры запросов, вспомогательных программ поиска, модулей и этапов их преобразования. Описание дополнительной информации в сниппете.
реферат [135,6 K], добавлен 27.12.2014Разработка набора взаимосвязанных классов для реализации Hash-поиска как специализированного контейнера. Поиск с использованием Хэш-функций. Объектная технология. Описание пользовательского интерфейса. Листинг и описание всех классов библиотеки на DP.
курсовая работа [231,2 K], добавлен 15.10.2008Обзор алгоритмов распознания объектов на двумерных изображениях. Выбор языка программирования. Обнаружение устойчивых признаков изображения. Исследование алгоритмов поиска объектов на плоскости. Модификация алгоритма поиска максимума дискретной функции.
дипломная работа [1,0 M], добавлен 16.06.2013Понятие алгоритма как набора инструкций, описывающего порядок действий. Поиск в ширину - метод обхода графа и поиска пути в нем. Пример работы алгоритма поиска в ширину, его неформальное и формальное описание. Реализация с помощью структуры "очередь".
курсовая работа [684,8 K], добавлен 05.04.2015Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.
курсовая работа [563,2 K], добавлен 21.06.2011Программная реализация приложения для вычисления заданных функций. Процедура поиска минимума функции. Применение методов Хука-Дживса и градиентного спуска для решения задачи. Исследование функции в окрестности базисной точки, определение ее координат.
контрольная работа [767,1 K], добавлен 02.02.2014Программирование приложения с использованием библиотеки OpenGL и функции для рисования геометрических объектов. Разработка процедуры визуализации трехмерной сцены и интерфейса пользователя. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [1,1 M], добавлен 23.06.2011Составление и программная реализация в среде Borland Delphi 7.0 алгоритмов итерационного и рекурсивного вариантов решения задачи поиска с возвращением. Исследование асимптотической временной сложности решения в зависимости от количества ячеек на плате.
курсовая работа [57,5 K], добавлен 25.06.2013Удовлетворение информационной потребности как цель поиска информации. Виды информационных ресурсов. Понятие документа в информационном поиске. Схема информационного поиска, этапы его представления. Характеристика качества поиска, его базовые положения.
презентация [1,2 M], добавлен 06.01.2014Основные критерии и требования к средствам поиска по ресурсу. Технологии создания инструментов поиска. Способы поиска по ресурсу. Принцип действия поиска по ключевым словам и при помощи поисковых систем. Разработка ресурса "Поиск по ресурсу" в виде блога.
курсовая работа [983,7 K], добавлен 01.02.2015Реализация комплекса программ поиска подстроки в тексте алгоритмом прямого поиска и алгоритмом Кнута-Морриса-Пратта. Сравнительный анализ теоретических и экспериментальных оценок эффективности алгоритмов. Разработка структуры программы, ее листинг.
курсовая работа [2,8 M], добавлен 22.01.2015Теоретические сведения об алгоритмах поиска подстроки в строке. Глобализация информации в сети Internet. Интеллектуальный поиск. Алгоритм последовательного (прямого) поиска, Рабина и их применение. Анализ алгоритмов. Реализация программного кода.
курсовая работа [230,8 K], добавлен 12.02.2009Классы задач P и NP, их сводимость. Примеры NP-полных и NP-трудных задач. Сущность метода поиска с возвратом. Алгоритмы решения классических задач комбинаторного поиска. Решение задачи о восьми ферзях. Поиск оптимального решения методом ветвей и границ.
презентация [441,5 K], добавлен 19.10.2014Исследование проблемы сравнения звуковых файлов и определение степени их схожести. Сравнение файлов с использованием метода нечеткого поиска, основанного на метрике (расстоянии) Левенштейна. Сравнение MIDI-файлов и реализация алгоритмов считывания.
курсовая работа [2,0 M], добавлен 14.07.2012Особенности построения алгоритма поиска адресов e-mail, ICQ и имен пользователей в файлах, с использованием формата вывода html страницы, а также его реализация с помощью GHCi языка Haskell. История создания и принципы работы с wxWidgets и wxHaskell.
курсовая работа [687,3 K], добавлен 21.12.2009Метод главных компонент. Процесс распознавания. Ковариационная матрица, диагональная матрица собственных чисел. Использовании метрики Махаланобиса и Гауссовского распределения для оценки близости изображений. Входные вектора. Библиотека OpenCV.
статья [22,1 K], добавлен 29.09.2008Задачи компьютерного зрения. Анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик. Алгоритмы поиска и обработки найденных областей движения. Метод коррекции. Нахождение объекта по цветовому диапазон
статья [2,5 M], добавлен 29.09.2008Сигнал как некоторое средство для передачи информации. Знакомство с параллельными алгоритмами двумерного быстрого преобразования Фурье, анализ способов вычисления. Общая характеристика процессора Power5 64-bit RISC. Рассмотрение функций библиотеки MPI.
дипломная работа [1,6 M], добавлен 09.10.2013