Система нахождения графических примитивов на изображении на основе преобразования Хафа
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
int iteration) - возвращает изображение, подвергнутое морфологической операции расширения. Iteration - задает количество проходов морфологическим фильтром.
public ImageSource MedianSmooth (ImageSource source, int windowSize) - возвращает изображение, сглаженное медианным фильтром. WindowSize задает размер скользящего окна.
public ImageSource GaussSmooth (ImageSource source, int width, int height, double sigma) - возвращает изображение, сглаженное фильтром Гаусса. Параметры width и height задают размер скользящего окна. Sigma задает значение гауссова среднеквадратичного отклонения в формуле (2).
public ImageSource Binarization (ImageSource source, int threshold, int max) - возвращает изображение, подвергнутое процедуры глобальной бинаризации. Threshold задает значение интенсивности, являющееся порогом бинаризации, max - значение интенсивности для пикселей выше порога.
public ImageSource Canny (ImageSource source, int threshold, int link) - возвращает изображение, обработанное оператором краев Канни. Threshold задает порог для градиента, значения выше которого приравниваются к точке края, link - порог для градиента для связи контурных пикселей.
public ImageSource Sobel (ImageSource source, int orderX, int orderY, int size) - возвращает изображение, обработанное оператором краев Собела. OrderX и orderY задают порядок производной по соответствующим направлениям, size - размер скользящего окна.
public ImageSource Laplace (ImageSource source, int size) - возвращает изображение, обработанное оператором краев Лапласа. Size задает размер скользящего окна.
public Point[] Harris (ImageSource source, int maxFeatures, double quality, double minDist, double k) - возвращает множество особенных точек, найденных детектором Харриса на изображении source. MaxFeatures задает максимальное число особенностей, quality - минимальное собственное значение, относящееся к углу, minDist - минимальное расстояние между двумя углами, k - значение параметра Харриса в формуле (16).
public Point[] Mask (ImageSource source, int quality) - возвращает множество особенных точек, найденных масочным детектором на изображении source. Quality - качество найденных углов, характеризующееся степенью соответствия маске.
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.Circle[] HoughCircles (ImageSource source, double thresh, double acthresh, double resol, int gap, int minR, int maxR) - возвращает множество окружностей, найденных преобразованием Хафа. Resol задает размерность фазового пространства (если 1, то размерность фазового пространства 2). MinR и maxR - характеристики радиуса, найденных окружностей.
Методика нахождения прямоугольников и треугольников, основывается на прямых найденных на основе класса HoughLines, из которых строится заданный примитив с учетом аппроксимационного параметра approx.
.3 Руководство пользователя
Требование к программному и аппаратному обеспечению
Для корректной и эффективной работы программного продукта необходима система на базе Pentium 4 с тактовой частотой процессора не менее 2 ГГц, 512 Мб ОЗУ.
Программным обеспечением для данной системы является .Net Framework 4, а также дополнительные библиотеки EmguCV.
Выполнение программы
Для запуска программы необходимо запустить исполняемый файл HoughTransformSystem.exe. Внешний вид программы представлен на рисунке 18.
Главное окно программы состоит из 5 областей:
1)Изображения - исходное изображение и результат обработки после каждой из операций.
2)Окно обработки - состоит из 6 вкладок с различными фильтрами, а также с механизмами для осуществления преобразования Хафа.
)Информация об изображении - отображает полный набор сведений об изображении: имя файла, путь к нему, размер файла, атрибуты и т.д.
)Стек операций - представлен в виде списка, при выполнении каждой операции добавляется запись о ее совершении.
)Графические примитивы - отображает информацию о найденных примитивах, позволяет экспортировать эту информацию в виде pvt - файла.
2.4 Тестирование ПП
Тестирование ПП осуществляется методом "черного ящика", в качестве входной последовательности будет выступать ряд изображений с увеличением сложности фона. Оценка характеристик быстродействия, точности, общей эффективности, а также задание эталонных примитивов реализуется при помощи встроенного в программное средство модуля тестирования.
Для оценки эффективности реализации проводится следующая оценка: для входной последовательности рассчитывается время нахождения примитивов (быстродействие), затем проводится оценка соответствия найденных примитивов эталонным (точность).
Рассчитаем указанные величины для нахождения точечных особенностей, отрезков, окружностей, треугольников и прямоугольников и изобразим эти результаты в виде графиков быстродействия (см. Рисунок 19), точности (см. Рисунок 20), характеризующих систему в целом.
Рисунок 19 - Быстродействие системы (мс)Рисунок 20 - Точность системы
Из приведенных графиков характеристик можно сделать следующие выводы: быстродействие системы позволяет обрабатывать изображения во временных отрезках близких к реальному времени; сложность изображений значительно влияет на быстродействие системы, главным образом за счет увеличения времени предварительного этапа обработки; при любой сложности фона изображения удается добиться допустимой точности найденных