takya.ru страница 1
скачать файл
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Сибирский государственный аэрокосмический университет
имени академика М. Ф. Решетнева»
(СибГАУ)

Институт информатики и телекоммуникации

Кафедра информатики и вычислительной техники

Лабораторная работа №3



Определение геометрических характеристик объектов на изображении

Выполнили: ст. гр. МИИ 12-01


Истомина Ю. А.
Савицкий Р.С.
Проверил: к.т.н. доцент каф. ИВТ
Горошкин А. Н.

Красноярск 2013 г.


Цель работы

Программная реализация алгоритмов анализа геометрических характеристик плоских объектов на изображении

Исходные данные


Изображение

Описание методов и алгоритмов


Для решения задачи были выполнены следующие действия:

  1. Найти на изображении объекты;

  2. Найти периметр объекта;

  3. Главную ось объекта;

  4. Найти угол поворота объекта;

  5. Развернуть объект на найденный угол;

  6. Привести объект к масштабу эталона;

  7. Сравнить геометрические параметры объекта и эталона;

  8. Если геометрические параметры объекта близки к геометрическим параметрам эталона, то объект принадлежит классу эталона.

Особенности программной реализации


  1. Функция поиска объектов

private void WorkFindСontours(object sender, DoWorkEventArgs e)

{

BackgroundWorker bgw = (BackgroundWorker)sender;



bgw.ReportProgress(0);
groupAreas.Clear();

List copyBP = new List(blackPixels);

List nearbyPixels = new List();

while (copyBP.Count != 0)

{
Pixel pixel1 = (Pixel)copyBP.First().Clone();

Area area = new Area();

area.Pixels.Add(pixel1);

copyBP.Remove(copyBP.First());


groupAreas.Add(area);
FindNearby(copyBP, nearbyPixels, pixel1, area);
while (nearbyPixels.Count != 0)

{

FindNearby(copyBP, nearbyPixels, nearbyPixels.First(), area);


int percent = (int)Math.Round(100d / blackPixels.Count * (blackPixels.Count - copyBP.Count));

bgw.ReportProgress(percent);

}

}

PaintСontours(bgw);



}

  1. Формирование списка геометрических характеристик в файл логов

logs.Add("---------------------------------------------");

logs.Add(String.Format("Номер фигуры {0}", i + 1));

logs.Add(String.Format("Угол наклона оси {0}", groupAreas[i].Angel * 57.3));

logs.Add(String.Format("Момент 2 0 - {0}", groupAreas[i].GetCentralMoment(2, 0)));

logs.Add(String.Format("Момент 0 2 - {0}", groupAreas[i].GetCentralMoment(0, 2)));

logs.Add(String.Format("Компактность {0}", groupAreas[i].Compact));

logs.Add(String.Format("Эксцентриситет {0}", groupAreas[i].Eccentricity));

logs.Add(String.Format("Площадь {0}", groupAreas[i].Squere));

logs.Add(String.Format("Периметр {0}", groupAreas[i].PerimeterCount));

logs.Add(String.Format("Поворот фигуры {0}", groupAreas[i].RotateAngel() * 57.3));

logs.Add(String.Format("Цвет {0}", color.Name));

logs.Add("---------------------------------------------");



  1. Программа параллельно обрабатывает изображения

public FindAreas()

{

blackPixels = new List


();

groupAreas = new List();


BgwFindContours = new BackgroundWorker();

BgwFindContours.WorkerReportsProgress = true;

BgwFindContours.DoWork += WorkFindСontours;
BgwRotateContours = new BackgroundWorker();

BgwRotateContours.WorkerReportsProgress = true;

BgwRotateContours.DoWork += PaintRotate;
}

Работа программы


  1. Загрузка эталона и изображения



  1. Поиск ориентации главной оси и периметра



  1. Поворот объектов на найденный угол



  1. Масштабирование объектов и сравнение геометрических параметров


Выводы


Разработанное приложение позволяет находить одинаковые объекты на изображении.

Приложение успешно справилось с решением задачи поиска самолетов, развернутых на разные углы и с разным масштабом.



Однако, приложение реализует классический поиск по эталону и может быть использовано для поиска других объектов.
скачать файл



Смотрите также:
Цель работы Программная реализация алгоритмов анализа геометрических характеристик плоских объектов на изображении
46.67kb.
Лабораторная работа «Статистические методы экономического анализа»
51.32kb.
Курсовая работа: «Программная реализация модального управления для линейных стационарных систем»
87.66kb.
Программа распознавания qr кодов устойчивых к аффинным преобразованиям
303.56kb.
Программная Реализация режима сцепления блоков шифра
120.47kb.
Разработка и исследование пластинчато-ребристых теплообменников компрессорной установки для сжатия природного газа
32.74kb.
«Моделирование и исследование характеристик типовых динамических звеньев систем автоматического управления»
70kb.
Вопросы к государственному экзамену 2007-2008 уч г. по специальности 030100 «Информатика»
44.37kb.
Лабораторная работа №2. Синтез и исследование комбинационных схем
55.89kb.
Цель: привести в систему знания о геометрических фигурах; развивать у учащихся внимательность, логическое мышление, навыки самостоятельной работы. Учить собранности, умению ценить рабочее время
19.31kb.
Дипломная работа Повышение качества результатов анонимного интернет-голосования методом анализа сетевых объектов
347.22kb.
Программа «Фонд образовательных инноваций» ниу вшэ
55.58kb.