
- •Содержание
- •Введение
- •Постановка задачи
- •Анализ объектной среды
- •Требования к системе
- •Критерий качества системы
- •Концептуальная модель
- •Выбор средств разработки.
- •Физическая реализация
- •Загрузка изображения
- •Линейное усреднение пикселей по соседним
- •Медианная фильтрация
- •Размытие по Гауссу
- •Математическая морфология
- •Изменение яркости
- •Изменение контраста
- •Изменение цветового тона
- •ФильтрLight-Sharpen
- •Сохранение обработанного изображения
- •Тестирование продукта.
- •Руководство пользователя
- •Руководство разработчика
- •Вводная часть
- •Структура библиотекиImgPreProcessing
- •Структура программыNirs9
- •Использование классаImgPreProcessing
- •Заключение
- •Список литературы:
- •Глоссарий:
Выбор средств разработки.
При разработке программы были использованы следующие средства:
Среда разработки программного обеспечения QTCreator2.5.2
Программная платформа QT Framework 4.8.2
Язык программирования ISO/IEC14882C++
Библиотека обработки изображений и компьютерного зрения OpenCv2.3
QT Creator- Кроссплатформенная свободная IDE для разработки ПО на языках на С, С++ и QML. Разработана компанией Nokia для работы с фреймворком Qt. Включает в себя текстовый редактор с подсветкой кода, визуальный редактор интерфейса, средства автоматизации сборки, компилятор и отладчик.
QT Framework - кроссплатформенный инструментарий разработки ПО на языке программирования C++. Также существуют библиотеки для работы с языками Python, Ruby, Java и PHP. Включает в себя компоненты графического интерфейса, шаблоны контейнеров, средства сетевого программирования, средства работы с базами данных, средства работы с мультимедиа и т.п.
C++ - компилируемый статически типизированный язык программирования. Разработан в 1983, однако и в наше время является одним из самых популярных средств разработки.
C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения. Поддерживает такие парадигмы программирования, как процедурное и объектно-ориентированное программирование, модульность, раздельная компиляция и обработка исключений.
OpenCV (Open Source Computer Vision Library) – библиотека компьютерного зрения с открытым исходным кодом. Разработана Нижегородским отделением компании Intel. Включает в себя структуры данных для хранения изображений, математические вычисления, линейную алгебру, функции для обработки изображений, простой UI, ввод/вывод изображений и видео, анализ движения и отслеживание объектов.
Физическая реализация
Согласно требованиям к системе и концептуальной модели проекта, в рамках поставленной задачи необходимо было реализовать следующие этапы:
Загрузка изображения
Линейное усреднение пикселей по соседним
Медианная фильтрация
Размытие по Гауссу
Математическая морфология
Изменение яркости
Изменение контраста
Изменение цветового тона
Фильтр Light-Sharpen
Сохранение обработанного изображения
В ходе физической реализации была разработана динамически подключаемая библиотека DDL, все функции которой реализованы в классеImgPreProcessing. Класс содержит поля для хранения изображений (исходных и обработанных, в цветовых моделяхRGBиHSV). Предобработка, а также операции вывода изображений на экран и сохранения в файл выполняются с помощью методов, которые необходимо применять к созданному объекту класса.
Кроме разработки непосредственно подключаемой библиотеки, в ходе физической реализации, была разработана программа с графическим пользовательским интерфейсом, которая служит для демонстрации возможностей библиотеки ImgPreProcessing. Библиотека подключается к проектуNIRS9и предоставляет функционал обработки изображений. В программе реализованы только визуальные элементы управления. Ниже будут приведены иллюстрации работы именно этой программы.