Разработка программно-математического обеспечения корреляционного совмещения изображений с использованием быстрого преобразования Фурье
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ым результатам.
6.6.5 Проверка процедуры поворота изображения
Для выполнения данной проверки следует задать в соответствующем поле ввода, расположенном на главной форме программы угол поворота изображения в градусах, нажать кнопку, соответствующую процедуре поворота или выбрать соответствующий пункт меню. Для проверки угол поворота устанавливается равным 45 градусам.
Результат проверки считается положительным, если:
процедура нахождения повернутого изображения завершена успешно (не выдавалось сообщений об ошибках);
в соответствующем блоке программы отобразилось исходное изображение, повернутое на заданный угол.
6.6.6 Проверка процедуры масштабирования изображения
Для выполнения данной проверки следует задать в соответствующем поле ввода, расположенном на главной форме программы коэффициент масштабирования изображения, нажать кнопку, соответствующую процедуре масштабирования или выбрать соответствующий пункт меню. Для проверки коэффициент масштабирования устанавливается равным 2 .
Результат проверки считается положительным, если:
процедура нахождения изображения, подвергнутого масштабированию, завершена успешно (не выдавалось сообщений об ошибках);
в соответствующем блоке программы отобразилось исходное изображение, увеличенное (уменьшенное) в указанное число раз.
6.6.7 Проверка процедуры сохранения результата Фурье-преобразования
Для выполнения проверки необходимо произвести сохранение найденных Фурье-образов на диск, используя соответствующие кнопки, расположенные на главной форме программы:
Результат проверки данной процедуры является успешным, если:
в процессе выполнения процедуры не возникло ошибок;
на диске появились файлы с заданными при сохранении именами, содержащие соответствующие графические представления Фурье-образов.
6.6.8 Оценка комплектности и качества документации
Оценка качества и комплектности документации выполняется экспертным методом путем анализа документации на соответствие требованиям нормативно-технических документов. Номенклатура разработанных документов определяется заданием на проектирование. Содержание документов проверяется на соответствие требованиям ГОСТ ЕСПД.
6.7 Тестирование методом белого ящика. Способ базового пути
Пронумерованный текст процедуры масштабирования изображения имеет вид:
Procedure Zoom(int WidthSource, HeightSource, Tbitmap *sour, Tbitmap *dest)
1.if (StrToFloat(Edit2->Text)>50){
2.MessageBox(NULL, "Масштаб слишком велик", "Ошибка!", MB_OK | MB_ICONERROR);}
3.else {
.If (StrToFloat(Edit2->Text)<=0){
.MessageBox(NULL, "Масштаб слишком мал", "Ошибка!", MB_OK | MB_ICONERROR);}
.else {
.Image6->Height=Image1->Height*StrToFloat(Edit2->Text);Image6->Width=Image1->Width*StrToFloat(Edit2->Text)
.sour=Image1->Picture->Bitmap;
.WidthSource = sour->Width; HeightSource = sour->Height;
.WidthDest = Image1->Width*StrToFloat(Edit2->Text);
.HeightDest = Image1->Height*StrToFloat(Edit2->Text);
.dest->Width = WidthDest; dest->Height = HeightDest;
.float kX = (float)WidthDest / (float)WidthSource;
.float kY = (float)HeightDest / (float)HeightSource;
.for (int x = 0; x < WidthSource; x++)
.for (int y = 0; y < HeightSource; y++){
.for (int i = 0; i < kX; i++)
.for (int j = 0; j < kY; j++){
.dest->Canvas->Pixels[x*kX+i][y*kY+j] = sour->Canvas->Pixels[x][y];}}
.Image6->Canvas->Draw(0,0, dest);}
.}
Потоковый граф получаем путем отображения пронумерованного текста программы в вершины потокового графа. Полученный потоковый граф приведен на рисунке 6.1.
Рисунок 6.1 - Потоковый граф, отображающий структуру функции
Для определения мощности базового множества независимых путей в графе используем цикломатическую сложность графа.
.Цикломатическая сложность графа равна количеству регионов потокового графа: V(G)=3
. Цикломатическая сложность графа равна количеству дуг минус количество узлов плюс 2: V(G)=22 -21+2= 3
. Цикломатическая сложность графа равна количеству предикатных узлов плюс 1: V(G)=2 +1=3
Базовое множество путей приведено в таблице 6.2.
Таблица 6.2 - Базовое множество независимых путей
11-2-2121-3-4-5-2131-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-21
Каждый тестовый вариант формируется в следующем виде:
исходные данные;
ожидаемые результаты;
реальные результаты.
Исходные данные выбираются так, чтобы предикатные вершины обеспечивали нужные переключения - запуск только тех операторов, которые перечислены в конкретном пути, причем в требуемом порядке.
В качестве исходных данных рассматриваемая функция использует исходное изображение и задаваемый пользователем коэффициент масштабирования.
Тестовые варианты, удовлетворяющие выявленному множеству независимых путей в структуре операторов рассматриваемой процедуры, представлены в таблице 6.3.
Таблица 6.3 - Результаты тестирования методом белого ящика
№ путиИсходные данныеОжидаемые результатыРеальные результаты1Введен коэффициент масштабирования, превышающий 50Выдано сообщение об ошибке (коэффициент масштабирования слишком велик)Выдано сообщение об ошибочно введенном коэффициенте масштабирования2Введен коэффициент масштабирования меньший или равный нулюВыдано сообщение об ошибке (коэффициент масштабирования слишком мал)Выдано сообщение об ошибке (коэффициент масштабирования слишком мал)3Введенный коэффициент масштабирования больше нуля и не превышает 50Масштабирование выполнено успешно, результирующее изображение выведено на экранМасштабирование выполнено успешно, результирующее изображение выведено на экран
Ожидаемые и реаль