Mais conteúdo relacionado Semelhante a NIDays 2013 (20) Mais de Workswell s.r.o. (11) NIDays 20131. Snímek 1 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
SMARTVISION SOFTWARE
DEVELOPMENT KIT
Martin Zmrhal
2. Snímek 2 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
OBSAHOBSAH
1. O společnosti Workswell…
2. SmartVision historie, požadavky
3. Řešení pomocí NI produktů
4. SmartVision Library - přehled funkcí
5. Princip DLL knihovny
6. Připojení a nastavení HW kamery
7. Zobrazení videa ve vlastní aplikaci
8. Digitální stabilizace
9. Nahrávání videa
10. Práce s termografickými kamerami
11. Měření v termálním obraze
12. Distribuce SmartVision SDK
13. Licencování SmartVision SDK
14. Přínosy použití NI produktů
15. Budoucí vývoj SmartVision
3. Snímek 3 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
O SPOLEČNOSTI WORKSWELL…
□ Založena 2010, sídlo v Praze
□ Termografie:
Bezkontaktní měření teploty pomocí termografických kamer
Strojní průmysl, stavebnictví, potravinářství, chemický průmysl
Oficiální distributor kamer Flir, Infratec, Jenoptik, Optris, SVS-
Vistek pro český a slovenský trh
Přednášky, školení a semináře, Centrum termografie
□ Vývoj software, průmyslových řešení:
Automatizace, bezpečnostní technologie, vstupně-výstupní
kontrola, kontrola kvality
4. Snímek 4 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
SMARTVISION HISTORIE, POŽADAVKY
□ Původně aplikace na míru zákazníkovi
□ Požadavky:
Možnost připojit se k libovolné GiGE
barevné/monochromatické kameře
Zobrazit video ve vlastní aplikaci psané v C++
Algoritmus pro automatické zaostřování a ovládání motoru
objektivu
Image processing, nahrávání videa
□ Nakonec samostatný produkt rozšířený o podporu
termografických kamer
5. Snímek 5 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
ŘEŠENÍ POMOCÍ NI PRODUKTŮ
□ NI Vision Acquisition Software (IMAQdx)
Podpora nejen GigE Vision kamer, ale i IEEE 1394 FireWire, IP
(Ethernet), DirectShow USB
□ NI LabVIEW
□ NI Vision Development Module
Velmi bohatá paleta funkcí pro image processing
□ NI LabVIEW Application Builder
Sestavení aplikace do DLL knihovny použitelné v téměř
libovolném programovacím jazyku
Jednoduchá distribuce, instalátory
6. Snímek 6 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
SMARTVISION LIBRARY - PŘEHLED FUNKCÍ
□ Jedna knihovna pro různé typu video hardwaru
Podpora velkého množství kamer různých výrobců
IMAQdx: GigE Vision, IEEE 1394 FireWire, IP (Ethernet),
DirectShow USB
Kompletní nastavení hardwaru kamery (XML atributy u GiGE
kamer) pomocí Set a Get funkcí
□ Jednoduchá použitelnost a distribuce
Aplikace formou DLL knihovny
Okno s videem je vloženo do nadřazené aplikace psané v
libovolném programovacím jazyce
Vše zabaleno v jednotném instalátoru
7. Snímek 7 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
SMARTVISION LIBRARY - PŘEHLED FUNKCÍ
□ Real-time image processing
Úpravy jasu, kontrastu, křivek, vyvážení barev videa,
doostřování videa
Digitální stabilizace třesoucího se obrazu
□ Přístup ke snímkům videa
Přístup k aktuálním snímkům videa před a po processingu
pomocí pointerů do operační paměti
Nahravání komprimovaného a nekomprimovaného videa do
formátu AVI
□ Podpora termografických kamer
Převod dat z kamery na teploty, měřící nástroje a měření v
obraze, vyčítání teplotních statistik
8. Snímek 8 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
PRINCIP DLL KNIHOVNY
□ DLL vytvořená v LabVIEW Application Builder
Pomocí funkcí z DLL je spuštěno VI
Vstupní a výstupní terminály VI => parametry a návratové
hodnoty funkce z DLL
void OpenSessionCam(char cameraInterface[])
Více návratových hodnot pomocí pointerů
Například C#:
Int status = GetAttribute(camInterface, activeAttribute,
&doubleValue, &stringValue, length)
9. Snímek 9 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
PŘIPOJENÍ A NASTAVENÍ HW KAMERY
Otevření session s kamerou,
nastavování hardwarových
parametrů
void
OpenSessionCam(char
cameraInterface[])
int8_t SetAttribute(char
interface[], char
activeAttribute[],
double valueDBL, char
valueString[])
10. Snímek 10 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
ZOBRAZENÍ VIDEA VE VLASTNÍ APLIKACI
□ LabVIEW VI Front Panel je vložen do aplikace zákazníka
VI spuštěno při zavolání funkce z DLL
Schován window title bar, menu bar, toolbar
Front Panel je vložen pomocí WinAPI funkcí SetWindowPos() a
SetParent(), tím je plně součástí nadřazené aplikace
Nastavování velikost okna s videem, Front Panel lze
zavřít/otevřít
11. Snímek 11 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
ZOBRAZENÍ VIDEA VE VLASTNÍ APLIKACI
12. Snímek 12 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
DIGITÁLNÍ STABILIZACE
□ Real-time stabilizace třesoucího se obrazu
Vhodné zejména pro statické scény pro eliminaci třesení
montáže či stativu kamery
Založena na trackingu objektů v obraze
Vracení a otáčení každého snímku zpět proti výchylce zjištěné
trackingem objektů
13. Snímek 13 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
DIGITÁLNÍ STABILIZACE
14. Snímek 14 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
DIGITÁLNÍ STABILIZACE
15. Snímek 15 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
NAHRÁVÁNÍ VIDEA
□ Záznam videa z kamery do souboru formátu AVI
Komprimované video – volně dostupné kodeky (Xvid), NI kodeky
(Motion JPEG, FF Video Codec 1)
Nekomprimované video – velký datový objem, beze ztráty informace
□ Video z kamery nejprve do dočasných souborů
Na HDD se ukládá nekomprimovaný stream dat z kamery
Dvě možnosti převodu:
Průběžná komprimace (v průběhu nahrávání)
Postupná komprimace (po skončení nahravání)
Nutnost mít na HDD dostatek místa, omezením je rychlost HDD, při
vyšších rozlišeních nejlépe použít SSD disk
800x600/30 FPS ~ cca 41MB/s
1280x1024/30 FPS ~ cca 113MB/s
1920x1080/30 FPS ~ cca 180MB/s
16. Snímek 16 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
PRÁCE S TERMOGRAFICKÝMI KAMERAMI
□ Konverze dat z termografické kamery
Výstup z kamery většinou 16 bit/pixel, nutno konvertovat na
teplotu v pixelu
Převod dat z termokamer FLIR automaticky
Převod dat z libovolné kamery pomocí uživatelsky
editovatelného .m file (NI LabVIEW MathScript RT Module)
□ Přepínání teplotních palet,
□ Automatický a manuální teplotní rozsah
17. Snímek 17 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
PRÁCE S TERMOGRAFICKÝMI KAMERAMI
18. Snímek 18 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
MĚŘENÍ V TERMÁLNÍM OBRAZE
□ Kreslení ROI nástrojů
Nástroje ROI součástí Image Display Indicator
Bod, úsečka, obdélník, polygon, elipsa, atd.
Ruční kreslení/zadávání ROI programově funkcí pomocí pole bodů
□ Zobrazování a vyčítání teplot a statistik
Každá oblast zájmu vlastní ID, přes které se přistupuje k datům v
oblasti
Vyčítání pole teplot z oblasti (void GetMeasData(int32_t index, float
appendedArray[], int32_t len)
Zobrazení minimální a maximální teploty v ROI
Generování statistik z oblasti (mininum, maximum, průměr,
standardní odchylka, rozptyl, …)
19. Snímek 19 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
MĚŘENÍ V TERMÁLNÍM OBRAZE
20. Snímek 20 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
STATISTIKY V TERMÁLNÍM OBRAZE
21. Snímek 21 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
DISTRIBUCE SMARTVISION SDK
□ NI LabVIEW Application Builder
Jednoduché generování DLL z VIs
Velice jednoduché vytvoření instalátoru
Vlastní licenční podmínky, grafika instalátoru
Zápis do registrů, zástupci na ploše, ve Windows nabídce
Programy
Read-me
Automatické verzování sestavení
Automatické spuštění NI LabVIEW .exe aplikací po dokončení
instalace
Instalátor obsahuje veškeré potřebné Run-Time Engines a
ovladače
22. Snímek 22 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
DISTRIBUCE SMARTVISION SDK
23. Snímek 23 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
LICENCOVÁNÍ SMARTVISION SDK
□ Vlastní licenční systém
□ Samostatná aktivační a deaktivační aplikace
□ Kombinace zápisu do registrů a licenčního souboru
□ Plná verze
Aktivace licence v databázi na serveru
Aktivace NI Vision Run-Time Engine (přes CMD bez zásahu
uživatele)
□ Trial verze
7 denní trial verze
Kontaktování serveru kvůli kontrole data
Omezeno délkou trial licence NI Vision Run-Time Engine
24. Snímek 24 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
LICENCOVÁNÍ SMARTVISION SDK
25. Snímek 25 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
PŘÍNOSY POUŽITÍ NI PRODUKTŮ
□ NI LabVIEW a Vision Development Module: Extrémně rychlý
vývoj Vision aplikací
Připojení a spuštění obrazu z kamery komfortně a rychle (4 VIs,
Image Display Indicator, jedna While smyčka)
Široká paleta funkcí pro zpracování obrazu a Machine Vision
Požadovaná funkce většinou již přímo v VDM knihovně, vlastní
algoritmy sestavením několika funkcí
MATLAB – v podstatě vše si programátor píše sám, větší
volnost, ovšem mnohem delší doba implementace
V jiných vývojových prostředích by vývoj podobně
komplexního SW trval nepoměrně déle
První verze hotová po cca 2-3 měsících s jediným vývojářem
26. Snímek 26 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
PŘÍNOSY POUŽITÍ NI PRODUKTŮ
□ NI Vision Acquisition Software (IMAQdx)
Podpora velkého množství HW, jediný driver
Jediné rozhraní pro připojení ke kameře v LabVIEW
□ NI Application Builder: snadná distribuce
Vytvořit .exe aplikaci nebo DLL knihovnu je „na pár kliknutí“
Podobně instalátor, není nutné používat nástroje třetích stran
□ NI Community
Discussion Forums
Code Exchange
□ NI Developer Zone, KnowledgeBase
Tutorials, White Papers
Příklady a ukázky kódu
27. Snímek 27 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
BUDOUCÍ VÝVOJ SMARTVISION
□ Nové algoritmy pro Image Processing
Další funkce pro úpravy barev a kontrastu
□ Paralelizace
Úprava některých současných funkcí na paralelní zpracovávání
Rozdělení obrazu na části, které se zpracují souběžně na více
jádrech
□ Vylepšení a optimalizace digitální stabilizace
Stabilizace podle více oblastí, váhování jednotlivých oblastí
□ Fúze obrazu
Prolnutí termálního a barevného obrazu
Vykreslení izoterm do barevného obrazu
28. Snímek 28 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
OBCHODNÍ ODDĚLENÍ
Měřicí technika
Adam Švestka, MSc., MBA
+420 725 955 464
adam.svestka@workswell.cz
TECHNICKÉ ODDĚLENÍ
Průmyslové aplikace a integrace
Ing. Jan Kovář
+420 739 428 433
jan.kovar@workswell.cz
Školení a metodika měření
Ing. Jan Sova
+420 736 408 005
jan.sova@workswell.cz
SÍDLO A KONTAKTY
SÍDLO SPOLEČNOSTI
Workswell s.r.o.
Dr. Zikmunda Wintra 376/5
160 00, Praha 6
Česká republika
IČO: 29048575
DIČ: CZ29048575
POBOČKA
Vědeckotechnický park UP
Šlechtitelů 21
783 71 Olomouc
SÍDLO A KONTAKTY
SÍDLO SPOLEČNOSTI
Workswell s.r.o.
Dr. Zikmunda Wintra 376/5
160 00, Praha 6
Česká republika
IČO: 29048575
DIČ: CZ29048575
POBOČKA
Vědeckotechnický park UP
Šlechtitelů 21
783 71 Olomouc
29. Snímek 29 z 28Martin Zmrhal, Workswell s.r.o. © SmartVision SDK
DĚKUJI ZA POZORNOST…