- •Содержание
- •Введение
- •Постановка задачи
- •Анализ объектной среды
- •Требования к системе
- •Критерий качества системы
- •Концептуальная модель
- •Выбор средств разработки.
- •Физическая реализация
- •Загрузка изображения
- •Линейное усреднение пикселей по соседним
- •Медианная фильтрация
- •Размытие по Гауссу
- •Математическая морфология
- •Изменение яркости
- •Изменение контраста
- •Изменение цветового тона
- •ФильтрLight-Sharpen
- •Сохранение обработанного изображения
- •Тестирование продукта.
- •Руководство пользователя
- •Руководство разработчика
- •Вводная часть
- •Структура библиотекиImgPreProcessing
- •Структура программыNirs9
- •Использование классаImgPreProcessing
- •Заключение
- •Список литературы:
- •Глоссарий:
Структура программыNirs9
Весь функционал расположен в классе MainWindowс отделением описания от реализации. Все содержащиеся в классе методы (за исключением конструкторов и деструктора) представляют собой обработчики событий, поступающих от элементов управления пользовательского интерфейса. Исходный код библиотеки представлен в проектеQtCreator, состоящем из нескольких файлов:
NIRS9.pro– файл проектаQt. Содержит данные о включаемых в проект файлах и информацию для сборки.
imgpreprocessing.h – файл заголовка C++. Содержит определение класса из подключенной библиотеки.
ImgPreProcessing_global.h – файл заголовка C++. Содержит макросы для импорта/экспорта класса из подключенной библиотеки.
mainwindow.h– файл заголовкаC++. Содержит определение класса.
main.cpp– файл исходниковC++.Cодержит точку входа в приложение и отвечает за его непосредственный запуск.
mainwindow.cpp– файл исходниковC++. Содержит реализацию методов класса.
mainwindow.ui– файл графического интерфейсаQt. СодержитXML-описание главного окна программы.
Рисунок 39. Файловая структура проекта NIRS9.
Результатом сборки проекта является исполняемый файл с расширением .exe. Открытие файла запускает программу.
Определение класса MainWindow:
Подключение заголовка главного окна Qt
#include <QMainWindow>
Подключение заголовочного файла библиотеки ImgPreProcessing
#include <imgpreprocessing.h>
class MainWindow : public QMainWindow
{
Q_OBJECT
Доступные члены класса: конструктор и деструктор
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
Защищенные члены класса: обработчики событий
private slots:
Обработчик события нажатия кнопки “Открыть”
void on_openButton_clicked();
Обработчик события нажатия кнопки “Gauss”
void on_gaussButton_clicked();
Обработчик события нажатия кнопки “Сохранить”
void on_saveButton_clicked();
Обработчик события нажатия кнопки “Blur”
void on_blurButton_clicked();
Обработчик события нажатия кнопки “Median”
void on_medianButton_clicked();
Обработчик события нажатия кнопки “Контраст”
void on_contrastButton_clicked();
Обработчик события нажатия кнопки “Яркость”
void on_brightButton_clicked();
Обработчик события движения ползунка для изменения яркости
void on_brightSlider_sliderMoved(int position);
Обработчик события нажатия кнопки “Dilation”
void on_dilationButton_clicked();
Обработчик события нажатия кнопки “Erosion”
void on_erosionButton_clicked();
Обработчик события нажатия кнопки “mOpening”
void on_mathOpenButton_clicked();
Обработчик события нажатия кнопки “mClosing”
void on_mathCloseButton_clicked();
Обработчик события движения ползунка для изменения компоненты Red
void on_rSlider_sliderMoved(int position);
Обработчик события движения ползунка для изменения компоненты Green
void on_gSlider_sliderMoved(int position);
Обработчик события движения ползунка для изменения компоненты Blue
void on_bSlider_sliderMoved(int position);
Обработчик события нажатия кнопки “Rchange”
void on_rButton_clicked();
Обработчик события нажатия кнопки “Gchange”
void on_gButton_clicked();
Обработчик события нажатия кнопки “Bchange”
void on_bButton_clicked();
Обработчик события движения ползунка для увеличения контраста
void on_increaseContrastSlider_sliderMoved(int position);
Обработчик события движения ползунка для уменьшения контраста
void on_reduceContrastSlider_sliderMoved(int position);
Обработчик события нажатия кнопки “Hchange”
void on_hButton_clicked();
Обработчик события движения ползунка для изменения компоненты Hue
void on_hSlider_sliderMoved(int position);
Обработчик события нажатия кнопки “Sharpen”
void on_sharpenButton_clicked();
Защищенные члены класса: поля
private:
Главное окно
Ui::MainWindow *ui;
Объект класса ImgPreProcessing
ImgPreProcessing *image; };