В ходе работы над бакалаврской работой была написана программа, Выделяющая на изображении искомые объекты и нормирующая их.
Программа представляет собой простое SDI-приложение, написанное в среде BuilderC++ v. 6.0. Для реализации обработки изображения использовалась библиотека Intel® Open Source Computer Vision Library (OpenCV).
В программе были использованы следующие функции библиотеки OpenCV:
Функция | Описание функции |
cvLoadImage | Загружает изображение из файла |
cvSize | Возвращает размер изображения |
cvCreateImage | Создает новое изображение |
cvAbsDiff | Производит вычитание по модулю двух изображений |
cvCmpS | Бинаризирует изображении, используя порог |
cvErode | Выполняет побитовую операцию эрозии изображения |
cvCamShift | Реализует алгоритм сравнения двух изображений |
cvGetQuadrangleSubPix | Производит аффинное преобразование изображения |
cvSetZero | Заполняет изображение черным цветом |
cvFillConvexPoly | Заполняет многоугольник на изображении заданным цветом |
cvCopy | Копирует изображение |
Также были использованы следующие классы:
Класс | Описание класса |
IplImage | Изображение |
CvSize | Размер матрицы |
CvPoint | Точка |
CvRect | Прямоугольник |
CvBox2D | Прямоугольник |
CvMat | Матрица |
Алгоритм программы:
Начало → Загружаем изображение-эталон → Отображаем эталон на экране → Ждем щелчка мыши → Загружаем исследуемое изображение → Отображаем эталон на экране → Ждем щелчка мыши → Выполняем вычитание двух изображений → Бинаризируем результат → Отображаем результат на экране → Ждем щелчка мыши → Выполняем эрозию результата → Отображаем результат на экране → Ждем щелчка мыши → Находим минимальный прямоугольник, охватывающий найденные объекты → Поворачиваем исследуемое изображение → Отображаем результат на экране → Ждем щелчка мыши → Нормализуем результат → Отображаем результат на экране → дем щелчка мыши → Конец
В работе создана программа обработки изображений. В дальнейшем планируется разработка программного обеспечения для классификации полученных образов.