Разработка программного обеспечения конфигурирования аппаратно-программного комплекса распределённой обработки видеообразов
Аналитический обзор видеосистем с элементами интеллектуальной обработки видеоконтента: FaceInspector, VideoInspector Xpress. Разработка алгоритма организации вычислительных средств комплекса, в структуру поэтапного решения задачи анализа видеообъекта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.06.2012 |
Размер файла | 3,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В электроустановках Uпр>1000 В с током замыкания Jз<500 А допускается сопротивление заземления Rз? 250/ Jз , но не более 10 Ом.
Если заземляющее устройство используется одновременно для электроустановок напряжением до 1000 В и выше 1000 В, то Rз? 125/ Jз но не выше нормы электроустановки (4 или 10 Ом). В электроустановках с токами замыкания Jз> 500 A, Rз ? 0,5 Ом.
Расчет заземления сводится к определению числа заземлителей и длины соединительной полосы исходя из допустимого сопротивления заземления.
Таблица 7.1 - Исходные данные
Показатель |
Значение |
|
Вид заземления |
выносное |
|
Длина заземлителя l, м |
2,7 |
|
Глубина заложения заземлителя в грунт h, м |
0,65 |
|
Коэффициент сезонности Kc |
2,0 |
|
Удельное сопротивление грунта с, Ом•м |
70 |
|
Диаметр заземлителя d, м |
55 |
|
Ширина соединительное полосы b, м |
50 |
|
Допускаемое сопротивление системы заземления по ПУЭ RЭ.Н., Ом |
4 |
В качестве заземлителя выбираем стальную трубу диаметром , а в качестве соединительного элемента - стальную полосу шириной .
Выбираем значение удельного сопротивления грунта соответствующее или близкое по значению удельному сопротивлению грунта в заданном районе размещения проектируемой установки.
Определяем значение электрического сопротивления растеканию тока в землю с одиночного заземлителя
где - удельное сопротивление грунта,
- коэффициент сезонности,
- длина заземлителя,
- диаметр заземлителя,
- расстояние от поверхности грунта до середины заземлителя.
Рассчитываем число заземлителей без учета взаимных помех, оказываемых заземлителями друг на друга, так называемого явления взаимного “экранирования”
? 10.
Рассчитываем число заземлителей с учетом коэффициента экранирования
? 18
где - коэффициент экранирования.
Принимаем расстояние между заземлителями
Определяем длину соединительной полосы
Рассчитываем полное значение сопротивления растеканию тока с соединительной полосы
Рассчитываем полное значение сопротивления системы заземления
где =0.51 - коэффициент экранирования полосы
7.2 Система видеонаблюдения в условиях ЧС
Данная система будет полезна в условиях чрезвычайных ситуаций для оценки положения и разрушений (если таковые имеются). Она же поможет избежать случаев мародёрства и иных противозаконных действий
Экстремальные ситуации для функционирования объектов видеонаблюдения могут создаваться в результате резких изменений температуры, избыточного давления, электромагнитных и ионизирующих излучений, вредных загрязнений окружающей среды.
В настоящее время при проектировании объектов и систем видеонаблюдения должны рассматриваться вопросы эксплуатации не только в штатных, но и в экстремальных условиях, поэтому на случай различных ЧС должны разрабатываться практические рекомендации по восстановлению работоспособности объектов связи и их элементов.
Под устойчивостью функционирования способность работать в нештатных, т.е. чрезвычайных ситуациях мирного и военного времени, а при нарушениях их работы - это способность восстанавливать работоспособность в кратчайшие сроки.
Основные требования, выполнение которых ведет к повышению устойчивости функционирования объектов связи:
- снижение возможных потерь и разрушений от воздействия поражающих факторов, вызванных стихийными бедствиями, производственными авариями и военными действиями;
- создание оптимальных условий для восстановления разрушенных, поврежденных объектов в минимально короткие сроки;
- обеспечение безопасности жизнедеятельности людей.
Здания и сооружения. Оборудование, которое размещается внутри зданий и сооружений чаще всего выходит из строя из-за обломков, пожаров, а поэтому несущие конструкции зданий, сооружений необходимо изготавливать из легких, несгораемых материалов (сталь повышенной прочности, алюминиевые сплавы и т.д.). У каркасных зданий большой эффект достигается за счет применения облегченных конструкций стенового заполнения и увеличения световых проемов с использованием стекла, стеклоблоков, легких панелей из пластиков и других легко разрушаемых материалов. Эти материалы хорошо разрушаются ударной, сейсмической волной и этим уменьшается действие избыточного давления на каркас сооружения, а их обломки наносят меньший ущерб оборудованию. Целесообразно использовать легкие поворачивающиеся панели с шарнирным креплением. Такие панели под воздействием ударной волны поворачиваются, что снижает ее воздействие на несущие конструкции. Гаражи должны быть приспособлены для проведения дегазации и дезактивации техники.
Электроснабжение. Для повышения устойчивости электроснабжения объекта необходимо иметь дублирующие и аварийные источники электроснабжения, поэтому на объектах связи должно быть не менее двух вводов от независимых источников, обязательно с разных сторон, и подведение электроэнергии должно осуществляться подземным кабелем. Кроме того, объекты связи должны иметь свои автономные источники электропитания (аккумуляторные батареи, дизель-электрические станции и т.д.). включающиеся автоматически при выходе из строя основных источников питания.
Для повышения устойчивости функционирования сети необходимо предусматривать строительство дублирующих, обычно неработающих узлов, которые в случае выхода из строя основных узлов берут на себя их функции, также необходимо дублировать каналы, линии связи (кабельные линии - радиорелейными, и наоборот, кабельные линии - линиями радиосвязи и т. д., по которым одновременно может передаваться одна и та же информация).
Подготовка к выполнению работ по восстановлению объекта связи в случае его повреждения. Для обеспечения этих работ необходимо прогнозировать характер возможных повреждений и разрушений по вариантам возможных поражений и разрабатывать методы ведения спасательных, неотложных и восстановительных работ по этим вариантам. Создавать восстановительные бригады, оснащенные инструментарием, приборами и запасным имуществом, из наиболее подготовленных работников.
- оконечная радиоэлектронная аппаратура должна иметь систему защиты от действия ЭМИ (амплитудные ограничители, быстродействующие разрядники, фильтры и т. д.);
- входные и выходные цепи радиопередающих и радиоприемных устройств должны иметь защиту от наводимых в антенных устройствах высоких напряжений (диодные амплитудные ограничители, газоразрядники, полосовые фильтры, экранированные фидерные линии и т. д.);
- кабели в аппаратных залах, кабинах должны прокладываться общим пучком (жгутом) в общем экране или экранированными проводами, что ослабляет наводки от электромагнитных полей.
Меры, повышающие радиационную стойкость РЭА. Наиболее эффективной мерой защиты от воздействия ионизирующих излучений является размещение аппаратуры в защитных или специально приспособленных сооружениях с большим коэффициентом ослабления Косл.
Кроме того, в современной аппаратуре связи необходимо использовать радиационно-стойкие элементы и схемы, некритичные или малокритичные к появлению дополнительных токов, возникающих в результате ионизации элементов схем РЭА, применять экранирование аппаратуры и ее элементов.
ЗАКЛЮЧЕНИЕ
В выполненной выпускной квалификационной работе проведено исследование аппаратно-программных средств анализа видеообъектов и осуществлен их выбор из номенклатуры DSSL для организации адаптивного децентрализованного комплекса визуального определения объектов и их перемещений с функциями автономной интеллектуальной обработки изображений.
Созданную программу можно интегрировать к существующим сегодня системам видеоконтроля для наиболее оптимального их использования и увеличения быстродействия по передаче данных, а так же снижения нагрузки с сетей.
Рассмотрены методы и приведены алгоритмы поэтапной обработки изображений для опознавания объектов и их перемещений, а также осуществлен выбор поддерживаемых системой TRASSIR устройств с интеллектуальными функциями реализации соответствующих этапов анализа.
Предложены методы, разработан алгоритм и программная реализация механизма динамической настройки (адаптации) структуры комплекса, оптимизирующей ее по числу используемых вычислительных ресурсов и эффективному пути передачи информации для решения текущей задачи опознавания.
В выпускной квалификационной работе выполнен организационно- экономический раздел, где дана оценка качества разработанного программного продукта и определены затраты на его разработку, а также раздел обеспечения безопасности жизнедеятельности, в котором определены меры по обеспечению устойчивости функционирования системы в чрезвычайных ситуациях, рассмотрено защитное заземление для защиты от поражения электрическим током.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Официальный сайт компании DSSL. - Режим доступа: www.dssl.ru
2. Буков В.Н. Вложение систем. Аналитический подход к анализу и синтезу матричных систем / В.Н. Буков. - Издательство научной литературы Н.Ф. Бочкаревой, 2006.- 800 с.
3. Инженерно-техническая укрепленность. Технические средства охраны. Требования и нормы проектирования (РД 78.36.003-2002). - М., 2002.- 433с. - Режим доступа: http://www.complexdoc.ru
4. Системы технического зрения / А.Н. Писаревский, А.Ф. Чернявский, Г.К. Афанасьев [и др.]; под ред. А.Н. Писаревский. - СПб.: Машиностроение, 2008.- 424 с. - Режим доступа: http://lib2.narod.ru/
5. Очин Е.Ф. Вычислительные системы обработки изображений / Е.Ф. Очин. - СПб.: Энергоатомиздат, 2009.- 136 с.
6. Мороз В.А. Трансформирование снимков / В.А. Мороз, Л.И. Яблонский. - М.: Недра, 1991.-244 с. - Режим доступа: http://books.google.ru
7. Терехов C.A. Нейронные сети и их приложения / С.А. Терехов. - М.: alife, 2006.-49 с. - Режим доступа: http://alife.narod.ru
8. Старовойтов В.В. Модель Распознавание человека по изображению объектов и нейросетевые методы / В.В. Старовойтов. - М.: neuroface, 2007.- 342с.
9. Котов И.И. Алгоритмы машинной графики / И.И. Котов, B.C. Полозов, Л.В. Широкова. - М.: Машиностроение, 2007.- 231 с. - Режим доступа: www. padabum.com
10. Гриб С.М. Модель мышления / С.М. Гриб. - М.: neural, 2003.- 175с.
11. Официальный сайт компании ISS. - Режим доступа: www.iss.ru
12. Скороходов А.П. «Face-Интеллект» - идентификация личности по изображению / А.П. Скороходов. - М.: ITV, 2006.- 75 с. - Режим доступа: http://www.itv.ru
13. Маклаков С.В. BPWin и ERWin. CASE-средства разработки информационных систем. / С.В. Маклаков - М.: Диалог МИФИ, 1999. - 255с.
14. Справочник по СКУД. - Режим доступа: www.kardmaster.ru
15. Справочник по энергобезопасности. - Режим доступа: www.sio.su.
16. Инструкция по охране труда для операторов ПК - Режим доступа: www.sewer.3dn.ru.
17. Маньков В.Д. Защитное заземление и зануление электроустановок: Справочник. / В.Д. Мньков, С.Ф. Заграничный. - СПб.: Политехника, 2005.- 266с.
ПРИЛОЖЕНИЕ A
Алгоритмы модулей распознавания объектов
А.1 Алгоритм модуля выделения объектов
Модуль выделения объектов - первый модуль, который должен выполняться при начале работы комплекса. Его блок-схема представлена на рис А.1.
Сначала перехватывается опорный кадр (первый кадр в видеопотоке), на котором отсутствуют появившиеся объекты. Их изображение преобразуется в полутоновое по следующему алгоритму: цветность изображения каждой точки отражают значения RGB. С помощью функций getrvalue, getbvalue и getgvalue для каждой точки изображения определяются красная (red), синяя (blue) и зеленая (green) составляющая соответственно, находится среднее значение этих трех величин и значение каждой цветовой составляющей изменяется на полученное среднее.
Преобразование изображения в полутоновое необходимо для более точного выделения объекта и для минимизации проявления возможных помех. Через определенный промежуток времени t по таймеру перехватывается второй кадр, который так же преобразуется в полутоновое изображение. Полутоновое изображение характеризуется одной компонентой на каждый пиксель изображения, отражающей градации серого цвета. Значение компоненты каждой точки полученного кадра сравниваются со значением компоненты соответствующей точки на опорном кадре. Если значения совпадают или отличаются совсем незначительно, то точка с данными координатами закрашивается белым, иначе точка остается неизменной. Для более точного выделения объектов на кадре после сравнения с опорным изображение необходимо очистить от шумов, т.е. отдельно расположенных точек. Эти точки так же закрашиваются белым. Процедура выделения объектов связана с обработкой большого объема данных, поэтому данная процедура выполняется четырьмя параллельно запущенными процессами для того чтобы гарантировать выполнение операций в реальном времени без задержки вывода информации о появившемся объекте, как показывает блок-схема на рисунке А.1.
Рисунок А.1 - Блок-схема функционирования модуля выделения объектов
А.2 Алгоритм модуля выделения контура объектов
Существует несколько разновидностей алгоритмов выделения контураобъектов на изображении: отслеживающие и сканирующие.
Отслеживающие алгоритмы основаны на том, что на изображении отыскивается объект и контур объектов отслеживается и векторизуется. Достоинством данных алгоритмов является их простота, к недостаткам можно отнести их последовательную реализацию и некоторую сложность при поиске и обработке внутренних контуров. Пример отслеживающего алгоритма - «алгоритма жука», который начинает движение с пустой области по направлению к изображению, как только он попадает на его элемент, он поворачивает налево и переходит к следующему элементу. Если этот элемент пуст, то поворачивает направо, иначе - налево. Процедура повторяется до тех пор, пока не вернется в исходную точку. Координаты точек перехода с изображения и на изображение и описывают границу объекта. Сканирующие алгоритмы основаны на просмотре (сканировании) всего изображения и выделения контурных точек без отслеживания контура объекта.
А.З Алгоритм модуля выделения контура.
Его можно отнести к классу сканирующих алгоритмов, так как происходит сканирование всего изображения. Программа анализирует изображение по точкам. Выбираются только точки, которые удовлетворяют условию: справа или слева имеется белая точка, или сверху или снизу имеется белая точка.
Координаты записываются в линейные массивы «KontX» и «KontY». В массив «KontX» записывается координата по оси X, в массив «KontY» координата по Y. По значениям, хранящимся в этих массивах, рассчитываются геометрические признаки распознаваемого объектов, а по координатам формируется контур объектов. Данный алгоритм представлен на рисунке А.2.
Рисунок А.2 - Блок-схема модуля выделения контуров объектов
А.4 Алгоритм модуля выделения элементов объектов
Для распознавания объектов необходимо выделить его элементы, что является одной из сложных задач, которые решает комплекс.
Выделение элементов объектов происходит по алгоритму, в котором изображение сканируется по строкам, в каждой строке выделяются отрезки, по цвету отличные от белого; если точка не белая, а слева точка белая, то эта точка является началом отрезка, её координаты записываются в линейные массивы х1 и yl; если точка не белая и точка справа белая, то эта точка является концом отрезка, её координаты записываются в линейные массивы х2 и у2; для каждого найденного отрезка находятся координаты его середины; точки с координатами середин отрезков образуют элементы объектов. Данный алгоритм, на рисунке А.3 позволяет выделить так называемые средние линии частей элементов объектов, что является достаточным для расчетов, производимых системой.
Рисунок А.З - Блок-схема модуля выделения элементов объектов
А.5 Алгоритм модуля варианта распознавания объектов
В процессе работы программы измеряются абсолютные характеристики объекта: высота; ширина; площадь; периметр.
На основе абсолютных характеристик рассчитываются относительные признаки, которые, в отличие от абсолютных, являются инвариантными по отношению к изменениям масштаба и угла поворота объектов: отношение ширины объектов к его высоте, отношение квадрата периметра объектов к его площади, отношение расстояний между элементами объектов.
После обучения система может функционировать в режиме распознавания.
Для вычисления характеристик объектов анализируются линейные массивы, в которых записаны координаты контура объектов и их элементы. Высота объектов находится как разность максимального и минимального значений, найденных по массиву «KontY», который содержит ординаты точек контура объектов. Ширина вычисляется как разность максимального и минимального значений, найденных по массиву «KontX», который содержит абсциссы точек контура объектов. Периметр объектов как количество точек в их контуре рассчитывается по массиву KontX как количество элементов в массиве. Площадь объектов равна числу точек, которое занимает объект на изображении. Расстояние между элементами объектов рассматривается как количество точек между ними. После нахождения всех геометрических признаков объектов они сравниваются с эталонными значениями соответствующих признаков. Если из рассчитанных признаков большее количество совпадает с эталонными, то принимается решение о том, что объект относится к соответствующему классу.
Рисунок А.4 - Блок-схема функционирования модуля распознавания объектов.
ПРИЛОЖЕНИЕ Б
Б.1 Листинг программы поиска кратчайшего пути по алгоритму Беллмана-Форда
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, ExtCtrls, StdCtrls, XPMan, Menus;
type
TForm1 = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
Memo1: TMemo;
Label1: TLabel;
Label3: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
XPManifest1: TXPManifest;
Image: TImage;
Label5: TLabel;
SpeedButton7: TSpeedButton;
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure SpeedButton1Click(Sender: TObject);
procedure ImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpeedButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure Quitter1Click(Sender: TObject);
procedure APropos2Click(Sender: TObject);
procedure FormCenter;
procedure SpeedButton7Click(Sender: TObject);
private
Drawing: Boolean;
Origin, MovePt: TPoint;
DrawingTool: byte;
{Private declarations}
public
procedure DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
uses disktrat, Unit2;
const max = 30;
type Vertek = record
posx,posy: Integer;
end;
AVertek = Array [1..max] of Vertek;
var count: byte;
awal,akhir: byte;
Node: AVertek;
bool_awal,bool_akhir: Boolean;
node1,node2: byte;
Data: TJarak;
Closed: TPath;
procedure TForm1.DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);
begin
with Image.Canvas do
begin
Pen.Mode:= AMode;
case DrawingTool of
2: {LINE}
begin
Image.Canvas.MoveTo(TopLeft.X, TopLeft.Y);
Image.Canvas.LineTo(BottomRight.X, BottomRight.Y);
end;
end;
end;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if Drawing then
begin
DrawShape(Origin, MovePt, pmNotXor);
MovePt:= Point(X, Y);
DrawShape(Origin, MovePt, pmNotXor);
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Drawingtool:= 1;
Image.Canvas.Pen.Mode:= pmcopy;
end;
procedure TForm1.ImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var XX,YY,i: byte;
begin
if Drawing then
begin
DrawShape(Origin, MovePt, pmNotXor); //afficher;
if drawingtool=2 then
begin
bool_akhir:= False;
for i:= 1 to count do
if (X>Node[i].posX-10) and (Y>Node[i].posY-10) and (X<Node[i].posX+10) and (Y<Node[i].posY+10) then
begin
bool_akhir:= True;
node2:= i;
break;
end;
if (node1<>0) and (node2<>0) and bool_awal and bool_akhir then
begin
DrawShape(Point(Node[node1].posx,Node[node1].posy), Point(Node[node2].posx,Node[node2].posy), pmCopy);
Data[node1,node2]:=round(sqrt(sqr(abs(Node[node2].posy-Node[node1].posy)/9) + sqr(abs(Node[node2].posx-Node[node1].posx)/9)));
Data[node2,node1]:= Data[node1,node2];
XX:= Node[node1].posx;
YY:= Node[node1].posy;
XX:= Node[node2].posx;
YY:= Node[node2].posy;
end;
end; //if
Drawing:= False;
if drawingtool=1 then
begin
count:= count + 1;
with Node[count] do
begin
posx:= x;
posy:= y;
end;
with Image.Canvas do
begin
Image.Canvas.Pen.Mode:= pmcopy;
Ellipse(X-15,Y-15,X+15,Y+15);
if count div 10 > 0 then
Textout(x-12,y-6,'R'+IntToStr(count))
else
Textout(x-5,y-6,'R'+IntToStr(count));
end;
end;
end;
end;
procedure TForm1.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if Drawing then
begin
DrawShape(Origin, MovePt, pmNotXor);
MovePt:= Point(X, Y);
DrawShape(Origin, MovePt, pmNotXor);
end;
end;
procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var i: byte;
begin
Drawing:= True;
Image.Canvas.MoveTo(X, Y);
Origin:= Point(X, Y);
MovePt:= Origin;
if drawingtool=2 then
begin
bool_awal:= False;
for i:= 1 to count do
if (X>Node[i].posX-10) and (Y>Node[i].posY-10) and (X<Node[i].posX+10) and (Y<Node[i].posY+10) then
begin
bool_awal:= True;
node1:= i;
break;
end;
end
else
if drawingtool in [3,4] then
begin
for i:= 1 to count do
if (X>Node[i].posX-10) and (Y>Node[i].posY-10) and (X<Node[i].posX+10) and (Y<Node[i].posY+10) then
begin
case drawingtool of
3: begin
awal:= i;
edit2.Text:= IntToStr(i);
end;
4: begin
akhir:= i;
edit3.Text:= IntToStr(i);
end;
end; //case
break;
end; //if
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Drawingtool:= 2;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Bitmap: TBitmap;
xx,yy: byte;
begin
Form1.Left:= Screen.Width div 2 - Width div 2;
Form1.Top:= Screen.Height div 2 - Height div 2;
{ Application de la fonction: AnimateWindow }
AnimateWindow(Handle, 500{Vitesse}, AW_CENTER);
Show;
DoubleBuffered:= True;
Bitmap:= nil;
try
Bitmap:= TBitmap.Create;
Bitmap.Width:= 350;
Bitmap.Height:= 300;
Image.Picture.Graphic:= Bitmap;
finally
Bitmap.Free;
end;
Memo1.Clear;
Drawingtool:= 1;
count:= 0;
awal:= 0;
akhir:= 0;
edit2.Text:= '';
edit3.Text:= '';
for xx:= 1 to max do
for yy:= 1 to max do
begin
if xx=yy then
Data[xx,yy]:= 0
else
Data[xx,yy]:= 999;
end;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
Drawingtool:= 3;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Drawingtool:= 4;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
var i: byte;
XX,YY: byte;
begin
memo1.Clear;
Drawingtool:= 2;
RuteTerpendek(Data,Closed,awal,akhir,count);
if (awal<>0) and (akhir<>0) and (closed.jarak<>0) and (closed.jarak<>999) then
begin
Drawing:= True;
for i:= 1 to closed.nodeke-1 do
begin
memo1.Text:= memo1.Text + IntToStr(closed.arraypath[i]) + '-';
image.Canvas.Pen.Color:= clred;
DrawShape(Point(Node[closed.arraypath[i]].posx,Node[closed.arraypath[i]].posy), Point(Node[closed.arraypath[i+1]].posx,Node[closed.arraypath[i+1]].posy), pmCopy);
XX:= Node[closed.arraypath[i]].posx;
YY:= Node[closed.arraypath[i]].posy;
with Image.Canvas do
begin
Image.Canvas.Pen.Mode:= pmcopy;
Ellipse(XX-15,YY-15,XX+15,YY+15);
if node2 div 10 > 0 then
Textout(xX-12,Yy-6,'R'+IntToStr(closed.arraypath[i]))
else
Textout(Xx-5,Yy-6,'R'+IntToStr(closed.arraypath[i]));
end;
end;
XX:= Node[closed.arraypath[closed.nodeke]].posx;
YY:= Node[closed.arraypath[closed.nodeke]].posy;
with Image.Canvas do
begin
Image.Canvas.Pen.Mode:= pmcopy;
Ellipse(XX-15,YY-15,XX+15,YY+15);
if closed.nodeke div 10 > 0 then
Textout(xX-12,Yy-6,'R'+IntToStr(closed.arraypath[closed.nodeke]))
else
Textout(Xx-5,Yy-6,'R'+IntToStr(closed.arraypath[closed.nodeke]));
end;
image.Canvas.Pen.Color:= clblack;
memo1.Text:= memo1.Text + IntToStr(closed.arraypath[closed.nodeke]);
Drawing:= False;
end
else
begin
memo1.Text:= 'iln''ya pas de connections';
end;
Drawingtool:= 5;
end;
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
Drawingtool:= 6;
FormCreate(Sender);
SpeedButton1Click(Sender);
//edit1.Clear;
end;
procedure TForm1.Quitter1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCenter;
begin
with Form2 do begin
Left:= Screen.Width div 2 - Width div 2;
Top:= Screen.Height div 2 - Height div 2;
end;
end;
procedure TForm1.APropos2Click(Sender: TObject);
begin
with Form2 do begin
Form2:= TForm2.Create(Application);
{Centre la fiche}
FormCenter;
{Application de la fonction: AnimateWindow}
AnimateWindow(Handle, 250{Vitesse}, AW_CENTER);
Show;
end;
end;
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
Form1.Close;
Form2.Close;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, StdCtrls;
type
TForm2 = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Label8: TLabel;
Label1: TLabel;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{Declarations privees}
public
{Declarations publiques}
end;
var
Form2: TForm2;
implementation
{$R *.DFM}
uses disktrat, Unit1;
procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TForm2.SpeedButton2Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
Размещено на Allbest.ru
Подобные документы
Разработка программного обеспечения для автоматизированной системы калибровки и поверки комплекса технических средств ПАДК "Луг-1". Аналитический обзор аналогов. Проектирование пользовательского интерфейса. Средства разработки программного обеспечения.
дипломная работа [1,4 M], добавлен 17.12.2014Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.
дипломная работа [1,7 M], добавлен 14.03.2013История разработок и развития беспилотных летательных аппаратов, принципы их действия и сферы практического применения. Разработка программного обеспечения для обработки результатов съемки тепловых карт местности и устранения геометрических искажений.
дипломная работа [3,4 M], добавлен 10.01.2013Разработка для ОАО "КБ "Луч" технологического программного обеспечения комплекса технических средств радиосвязи С-диапазона. Предназначение комплекса для контроля и управления аппаратурой посредством внешних интерфейсов через порты Ethernet и COM.
презентация [577,1 K], добавлен 14.07.2012Выбор базовых программных средств для разработки оригинального программного обеспечения. Компоненты программно-методического комплекса проектирования токарных операций. Программное обеспечение для организации интерфейса программно-методического комплекса.
дипломная работа [2,8 M], добавлен 14.05.2010Обзор существующего программного обеспечения для автоматизации выделения границ на изображении. Разработка математической модели обработки изображений и выделения контуров в оттенках серого и программного обеспечения для алгоритмов обработки изображений.
дипломная работа [1,7 M], добавлен 27.03.2013Разработка информационно-программного комплекса для использования на IBM-совместимых ПК в качестве автоматизированного рабочего места обработки информации. Реализация базы данных в СУБД IBexpert. Характеристики разработанной информационной системы.
курсовая работа [1,3 M], добавлен 13.08.2012Разработка технологии обработки информации, а также структуры и формы представления данных. Подбор алгоритма и программы решения задачи. Определение конфигурации технических средств. Специфика процесса тестирования и оценки надежности программы.
курсовая работа [959,1 K], добавлен 12.12.2011Расчет издержек предприятия на разработку программного продукта и экономической эффективности от его внедрения. Топология физических связей и структуризация сети. Характеристика программного обеспечения. Средства автоматизации, описание алгоритма задачи.
дипломная работа [867,6 K], добавлен 05.11.2015Разработка аппаратно-программного комплекса для осуществления идентификации объектов управления на основе вещественного интерполяционного метода. Анализ работоспособности аппаратно-программного комплекса, пример идентификации объекта управления.
магистерская работа [2,2 M], добавлен 11.11.2013