Iman 3.0 szoftverdokumentáció



Hasonló dokumentumok
Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

A rendszer általános áttekintése (Ver: )

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

Operációs rendszerek. Az NT folyamatok kezelése

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

KnowledgeTree dokumentumkezelő rendszer

C++ programozási nyelv

Space Invaders Dokumenta cio

BaBér bérügyviteli rendszer telepítési segédlete év

Internet programozása. 1. előadás

Személyügyi nyilvántartás szoftver

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

.NET (Dot-NET) #1 (Bevezetés)

Hálózati operációs rendszerek II.

Flex: csak rugalmasan!

Számítástechnikai kommunikációs lehetőségek a QB-Pharma rendszerrel. Előadó: Bagi Zoltán Quadro Byte Kft. ügyvezető

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

ContractTray program Leírás

Tartalomjegyzék. Előszó... 10

Podoski Péter és Zabb László

Operációs rendszerek. Az X Window rendszer

Adatbázis rendszerek. dr. Siki Zoltán

Könyvtári címkéző munkahely

DebitTray program Leírás

Programozás alapjai Bevezetés

Webes alkalmazások fejlesztése

A szerzõrõl... xi Bevezetés... xiii

A Skype architektúrája. P2P hálózat Supernode ok, peer-ek, login server

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

DW 9. előadás DW tervezése, DW-projekt

SZAKDOLGOZAT. Kiss Albert

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A rendszer általános áttekintése

Book Template Title. Author Last Name, Author First Name

ServiceTray program Leírás

Dr. Schuster György október 14.

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Iroda DEMO telepítési útmutató

Alkalmazások típusai Szoftverismeretek

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

RIEL Elektronikai Kft v1.0

Java I. A Java programozási nyelv

Levelezési beállítások

17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Szkeleton beadása. 100 Generalis faliora. Csapattagok: Konzulens: Szabó András március 29.

iphone és Android két jó barát...

Operációs rendszerek gyak.

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

A dokumentáció felépítése

TERC V.I.P. hardverkulcs regisztráció

AutoCAD 2000H rajzszerkesztés

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

A felhőről általában. Kacsuk Péter MTA SZTAKI

S z á m í t ó g é p e s a l a p i s m e r e t e k

Intelligens Autonom Kamera Modul (IAKM)

Üdvözlöm Önöket a Konferencián!


UMN Mapserver és a Grass használata a Geológiában. Soós Dániel, Phd. Hallgató Miskolci Egyetem Geodéziai és Bányaméréstani Intézeti Tanszék

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

OOP. Alapelvek Elek Tibor

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

SAMSUNG SSM-8000 szoftvercsomag

Bevezetés. Dr. Iványi Péter

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

15. Programok fordítása és végrehajtása

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

open source, multiplatform, point-and-click adventure games, reverse engeneering, C++, C, Pascal, Assembly, DOS

Az MS Access adatbázis-kezelő program

ABB Teach Pendant programozás segédlet

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

CabMap hálózat-dokumentáló rendszer

A Remote Support Platform 3.0 újdonságai

A Trimble térinformatikai GPS eszközei

I. Objektumorientált programozás

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely

Időkönyvelő Projektfeladat specifikáció

Budapesti Műszaki- és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar MIT. Nagyteljesítményű mikrovezérlők tantárgy [vimim342]

VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC

Kalandjáték dokumentáció

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

BÁN JÓZSEF FERTİSZÉPLAK SZÉKESFEHÉRVÁR - BUDAPEST. VISZK Bt. Székesfehérvár. Felhasználói Kézikönyv

ÜDVÖZÖLJÜK A HaXSoN BEMUTATÓN!

Zoiper VoIP mobil alkalmazás szoftver beállítása Android rendszerre

Információ-architektúra

Információ megjelenítés Diagram tervezés

A Microsoft terminálszolgáltatás ügyfél oldali hardverigényének meghatározása

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Már megismert fogalmak áttekintése

Átírás:

Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3 1.2.3. Display.dll...3 1.2.4. SharedMem.dll...3 1.2.5. Storage.dll...3 1.2.6. Features.dll...3 1.2.7. Recogn.dll...3 1.2.8. OpenCV dll-ek...3 1.2.9. ImanIP.dll...3 1.2.10. Grab.dll...4 1.2.11. Gyorsító kártya rutinok...4 1.2.12. Keresztkorrelációs felismerési rutinok...4 1.2.13. Template (minta) adathalmaz kezelő rutinok...4 1.3. Fejlesztőeszközök...4 2. Dedikált rendszer (SENTINEL)...4 2.1. Kiegészítő modulok...4 2.2. A modulok részletes leírása...5 2.2.1. Sentinel.exe...5 2.2.2. Dedikált modulok (Input, Prepare, Detect, Identify)...5 2.2.3. Threads.dll...5 2.3. Megvalósítandó folyamatok...6

-2-1. Az Iman rendszer 1.1. Modulok A modulok kialakításának főbb szempontjai: - funkcionális egységet valósítsanak meg - egy kellően rugalmas felületen keresztül kommunikálhassanak egymással és az esetleges külső modulokkal - minél több modul legyen platform (operációs rendszer- és processzor-) független - magas szinten legyen programozható valamilyen script nyelven keresztül Modulok megvalósítása: Display.dll /Ábrázolás, felhasználói felület/ SharedMem.dll /Globális változók, konfigurációk/ Storage.dll /mentés, visszaolvasás/ Iman.exe /főprogram/ Scriptek Scriptek Scriptek, Interpreter. dll által végrehajtva Másik script hívása OpenCV dll-ek /IP könyvtár/ ImanIP.dll /Plusz IP rutinok/ Features.dll /Morfológiai paraméterek/ Recogn.dll /Felismerés/ DLL hívások Gyorsító kártya rutinok Grab.dll /Képdigitalizálás/ Külső felismerő rutinok (pl.cnn) = platform függő modulok = hardver függő modulok 1.2. Modulok részletes leírása 1. ábra A szoftvermodulok folyamatvázlata 1.2.1. Iman.exe Ez a főprogram, nincs grafikus felülete. Miután behívta a szükséges dll-eket, behívja a plusz menüket és a hozzájuk tartozó script-eket. A menüket átadja Display.dll alprogramnak megjelenítésre. A Display.dll felhasználói felülete által generált események egy része a főprogramban kezelődik le. Ha olyan menüpont hívódik meg, amihez van script, akkor a szoftvermodul a scriptet végrehajtatja Interpreter.dll alprogrammal.

-3-1.2.2. Interpreter.dll A rendszer nagyon lényeges tulajdonsága, hogy menüket és azokhoz tartozó scripteket lehessen definiálni és futtatni a magas szintű programozáshoz. Windows platformra jó megoldás a Vbscript, amelyhez a Microsoft cég ingyenes ActiveX objektumot biztosít. Platform függetlenebb megoldások: A Pascal script alkalmazása, erre vannak freeware és shareware komponensek egyaránt. Hátránya, hogy nem minden processzorra van pascal fordító, előnye, hogy az interpreter kódja a rendelkezésre áll, tehát könnyen tovább fejleszthető. B PERL script alkalmazása, ezt szintén elég sok platformra megírták már. Kérdés, hogy hozzáférhető és más processzoron lefordítható-e az interpreter forráskódja. Nagy előnye, hogy hasonlít a C++ nyelvre, tehát a C++-ban megírt dll-eket könnyebb hozzá illeszteni. 1.2.3. Display.dll Itt történik a rendszerben használt objektumok, pl. képek, hisztogramok megjelenítése. Az Interpreter által generált debug információk is itt jelennek meg egy szöveges ablakban. Itt található a felhasználói felület is, amelyen keresztül befolyásolni lehet az Iman rendszer működését. A felhasználói felület eseményeket generál az Iman főprogram felé, amelyek nagyrészt ott kezelődnek le. Mivel a megjelenítés és a menürendszer rendszerfüggő, ez a modul platformonként más és más lehet. 1.2.4. SharedMem.dll Ez egy olyan modul, amely biztosítja globális változók és konfigurációk átvitelét az egyes scriptek és dll-ek között. 1.2.5. Storage.dll Itt találhatók a fájlból történő képbeolvasással illetve kiírással valamint a konfigurációmentéssel és visszaolvasással kapcsolatos rutinok. Az egyes rendszereken ez különbözőképpen történhet, (pl. nem fájlba hanem CMOS-RAM-ba). 1.2.6. Features.dll Itt történik a morfológiai paraméterek nyilvántartása. A morfológiai paraméterek számolása az OpenCV és az ImanIP modulokban történik. 1.2.7. Recogn.dll Itt történik az objektumok felismerése a morfológiai paraméterek alapján. 1.2.8. OpenCV dll-ek Ezek szabad forráskódú, képfeldolgozó és morfológiai paraméter számoló rutinokat tartalmazó könyvtárak. (Lásd: iplman.pdf) 1.2.9. ImanIP.dll Itt találhatók azok a képfeldolgozó rutinok, amiket az OpenCV-n felül kell megírni.

-4-1.2.10. Grab.dll A képdigitalizálással kapcsolatos alapvető műveleteket, pl.live, Grab stb. valósítja meg az éppen használt digitalizáló kártyára. 1.2.11. Gyorsító kártya rutinok Az Iman rendszer teljesen nyitott, bármilyen dll illeszthető a script-eken keresztül. Jelenleg a HEXIUM Apolló és az Alacron Fastimage 1300 kártya rutinjai készülnek. 1.2.12. Keresztkorrelációs felismerési rutinok Template.dll 1.2.13. Template (minta) adathalmaz kezelő rutinok Tmplbase.dll 1.3. Fejlesztőeszközök Mivel az OpenCV könyvtárakat Microsoft Visual C++ - programozási nyelvvel fejlesztették, valamint C++ fordító minden rendszerre létezik, a legtöbb modulnál célszerű ennél a fejlesztőeszköznél maradni. A platformfüggő modulok fejlesztésére mindig a leghatékonyabb eszközt kell választani, Windows alatt ez lehet a Delphi, aminek most már van Linux-os változata is (Kylix). A Pascal script-eket futtató komponensek általában Pascal-ban íródnak, ehhez lehet a Delphi-t vagy a Free Pascal-t használni, ami szintén már elég sok platformon létezik. Modul neve Programozási nyelv Ajánlott fejlesztőeszköz Iman.exe C++ Microsoft Visual C++ 6.0 Interpreter.dll Object Pascal vagy C++ Free Pascal vagy VC++ 6.0 Display.dll Object Pascal vagy C++ Delphi vagy C++ fordító (platformfüggő) SharedMem.dll C++ Microsoft Visual C++ 6.0 Storage.dll C++ Microsoft Visual C++ 6.0 ImanIP.dll C++ Microsoft Visual C++ 6.0 Features.dll C++ Microsoft Visual C++ 6.0 Recogn.dll C++ Microsoft Visual C++ 6.0 Grab.dll C++ Microsoft Visual C++ 6.0 2. Dedikált rendszer (SENTINEL) 2.1. Kiegészítő modulok Egy dedikált képfeldolgozó rendszernél az általános modulok mellett az alábbi plusz funkciókat kell biztosítani: A több szálon kell futtatni az egyes magas szintű folyamatokat B definiálni kell a szálak egymásra hatását (ki/bemenet, várakozási sorok)

-5- A kiegészítő modulok megvalósítása és illesztése az Iman rendszerhez: Threads.dll /többszálú folyamatok/ SharedMem.dll /Globális változók, konfigurációk/ Sentinel.exe /főprogram/ Input /Bejövő képek egyesítése/ Prepare /Képszűrések, mozgásdetektálás/ Detect /Objektumok detektálása/ Iman alaprendszer dll-jei (Display, Storage, ImanIP, Grab, stb.) Egyéb külső dll-ek Identify /Objektumok azonosítása/ Dedikált DLL-ek, vagy scriptek 2. ábra A kiegészítő szoftvermodulok folyamatvázlata 2.2. A modulok részletes leírása 2.2.1. Sentinel.exe Ez a főprogram, amely a thread.dll alprogramban definiált folyamatokat indítja és hasonlóan az Iman.exe-hez üzeneteket fogad a Display.dll alprogram felhasználói felületéről. 2.2.2. Dedikált modulok (Input, Prepare, Detect, Identify) Ezek dll-ek, vagy script-ek, mindegyikben egy vagy több összetett eljárással (a modulok leírását lásd: Szoftver rendszerterv.doc -ban). Az eljárásoknak olyanoknak kell lenniük, hogy egymástól függetlenül, egy többszálú rendszerben is végrehajthatók legyenek. Az egyes modulok a SharedMem.dll-en keresztül cserélhetnek adatokat. 2.2.3. Threads.dll Itt általános várakozási sorokat lehet összeállítani. A sorok azt írják le, hogy egy adott eljárás melyik másik eljárás befejeződése után indulhat. Minden eljáráshoz tartozik egy szemafor, amely az eljárás felé jelzi, hogy mikor kezdődhet újra, illetve kifelé jelzi, hogy az eljárás mikor fejeződött be.

-6-2.3. Megvalósítandó folyamatok A folyamatokat Threads.dll alprogramban lehet definiálni, minden folyamat egy ismétlődő ciklus, amely egy adott várakozási sor alapján ismételten meghívja a dedikált modulok eljárásait. Megvalósítandó folyamatok (lásd: Megvalósítandó funkciók.doc): A Monitorozás : Input -> Képmegjelenítés B Mozgás figyelés : Input -> Prepare -> Képmegjelenítés C Objektum detektálás: Input -> Prepare -> Detect -> Identify -> Képmegjelenítés