• No results found

Aplikace technologie virtuální

N/A
N/A
Protected

Academic year: 2022

Share "Aplikace technologie virtuální"

Copied!
68
0
0

Loading.... (view fulltext now)

Full text

(1)

VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra elektroniky a sdělovací techniky

Aplikace technologie virtuální

instrumentace pro optické testování a měření v procesu průmyslové výroby

2005 Leoš Maršálek

(2)

Prohlašuji, že jsem tuto diplomovou práci vypracoval samostatně. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal.

V Ostravě 10. května 2005 . . . .

(3)

Rád bych na tomto místě poděkoval všem, kteří mi s prací pomohli, firmě ELCOM, a.s, DVI a zejména Ing. Petrovi Bílovskému, který mi velmi pomohl svými užitečnými radami.

(4)

Abstrakt

Tato diplomová práce pojednává o aplikaci technologie virtuální instrumentace v oblasti měření a testování. V první části jsou popsány principy virtuální instrumentace s její aplikací v oblasti zpracování obrazu. V následující části je přehled nejvíce používaných vývojových prostředí pro vytváření měřících aplikací. Dále jsou popsány základy z oblasti zpracování obrazu spolu s některými funkcemi z IMAQ Vision. V poslední části je popis aplikace, která měří a vyhodnocuje barevné rozhraní ED modulů. Aplikace je vytvořena v LabVIEW a IMAQ Vision.

Klíčová slova: barevné prostory, CIE, ED modul, HSL, IMAQ Vision, LabVIEW, optické měření, RGB, virtuální instrumentace, vývoj aplikace, zpracování obrazu

Abstract

The diploma thesis are focused to the application of virtual instrumentation technology in the area of measurement and testing. The virtual instrumentation principles are described in the area of image processing.The next part of the thesis is a short summary of the most frequently used development SW tools. The basic principles of image processing and IMAQ Vision functions are described too. The last part contains the brief description of the application designed for measuring and recognition of the color borderline of the ED modules. The application is designed and developed in LabVIEW and its IMAQ Vision library.

Keywords: color spaces, CIE, ED module, HSL, IMAQ Vision, LabVIEW, optical mea- surement, RGB, virtual instrument, development application, image processing

(5)

Seznam použitých zkratek a symbol˚ u

BBS – Bulletin Board Service – vývěsková služba obdoba HTTP služby

C – programovací jazyk C

C++ – programovací jazyk C++, oběktově orientovaný

COM – Common Object Model – objektově orientovaná otevřená ar- chitektura umožňující transparentní komunikaci aplikací typu klient/server

DDE – Dynamic Data Exchange – dynamická datová výměna mezi apli- kacemi

DLL – Dynamic Link Library – dynamická knihovna systému Win DOS – operační systém od společnosti Microsoft

FFT – Fast Fourier Transformation – matematická transformace, která „převádíÿ data z časové oblasti do oblasti frekvenční

Gb – Gigabite – 109 bite

GHz – Giga Hertz – fyzikální jednotka

GPIB – General Purpose Interface Bus – paralelní sběrníce pro komu- nikaci se zařízením

GPRS – General Packet Radio Service – všeobecná paketová rádiová služba, možnost stálého připojení a bezdrátového přenosu dat vysokou rychlostí

GSM – Global System for Mobile – globální systém mobilní komunikace GUI – Graphics User Interface – grafické uživatelské rozhraní

HP – Hewlett-Packard – firma zabývající se informačními technologi- emi

HSL – Hue, Saturation, Lightness – barevný prostor používaný v ob- lasti strojového vidění

HTML – Hyper Text Markup Language – hypertextový značkový jazyk HTTP – Hyper Text Transfer Protocol – protokol který umožňuje pře-

nášet Webové stránky

HW – Hardware – zařízení, které je využito pro běh SW aplikace IBM – International Business Machines – firma zabývající se infor-

mačními technologiemi

IEEE 802.11b – standard beztrátové technologie známe jako WI–FI IEEE 802.15 – standard beztrátové technologie známe jako WPAN IEEE 1394 – standard pro sériové rozhraní, známe jako FIREWIRE

IR – InfraRed – zkratka pro druh komunikačního zařízení nebo pro neviditelnou oblast světla ⇒ 700 nm

JAVA – programovací jazyk, přenositelný mezi různými platformami LabVIEW – Laboratory Virtual Instruments Engineering Workbench – SW

prostředí pro vývoj měřících aplikací

(6)

LASER – Light Amplification by Stimulated Emision of Radiation – zdroj monochromatického koherentního světla

LED – Light Emiting Diode – polovodičová dioda generující nekohe- rentní světlo

LW – LabVIEW – zkratka názvu produktu NI

LZW – Lempel-Ziv, Welch – název patentovaného komprimačního al- goritmu

MATLAB – MATrix LABoratory – označení SW vývojového prostředí Mb – MegaBite – jednotka informací 106 bite

MB – MegaByte – jednotka informací 106· 8 bite

NASA – National Aeronautics and Space Administration – národní správa pro letectví a kosmický prostor

NetDDE – NETwork Dynamic Data Exchange – dynamická výměna dat v síti

NI – National Instrument – firma zabývající se oblastí měření OLE – Object Linking and Embedding – objektově orientovaná tech-

nologie vytváření složených dokumentů vyvinutá společností Microsoft

OPC – OLE for Process Control – průmyslový standard vytvořený ve spolupráci mnoha světových dodavatelů HW

OS – Operating system – operační systém počítače PC – Personal Computer – osobní počítač

PIXEL – PIX (picture) ELement – nejmenší obrazová informace, dále již nedělitelná

RGB – Red, Green, Blue – barevný prostor, který se skládá ze třech barev: červené, zelené, modré

PLC – Programmable Logic Controller – programovatelný logický re- gulátor

PXI – PCI eXtensions for Instrumentation – platforma založená na PCI sběrnici pro modulární měřicí přístroje

SMD – Surface Mounted Device – součástky pro povrchovou montáž SMS – Short Message Service – služba krátkých zpráv v bezdrátových

sítích

SQL – Structured Query Language – strukturovaný databazový jazyk STP – Shielded Twisted Pair – stíněný kroucený pár (kabely pro Ether-

net

SW – Software – zkratka nahrazující toto slovo

TCP – Transport Control Protocol – protokol pro přenášení informací sítí

(7)

USB – Universal Serial Bus – univerzální sériová sběrníce

UV – Ultra-violet – ultrafialová oblast světla (okem

neviditelná)⇐ 400 nm

VEE – Visual Engineering Environment – SW prostředí of firmy Agi- lent

VXI – měřící systém založený na multifunkčních měřích kartách pro- pojovaných sběrnicí

Win95/98 – operační systém od firmy Microsoft

WinXP – operační systém od firmy Microsoft, XP označuje vyzrálost WinNT – operační systém od firmy Microsoft, zaměřený na sítě

Unix – operační systém

X-Ray – Rengenovo záření

(8)

Obsah

1 Úvod 1

2 Oblast měřící techniky 2

2.1 Vývoj měřící techniky . . . 2

2.2 Proces měření . . . 5

2.3 Zpracování obrazu v průmyslové výrobě . . . 6

3 SW vývojová prostředí 9 3.1 Control Web . . . 9

3.2 LabVIEW . . . 10

3.3 LabWindows/CVI . . . 12

3.4 Matlab . . . 13

3.5 TestPoint . . . 14

3.6 VEE . . . 15

4 Digitální obraz 17 4.1 Definice digitálního obrazu . . . 17

4.2 Parametry obrazu . . . 17

4.3 Barevné prostory . . . 17

4.4 Nejvíce používané grafické soubory . . . 22

5 Základní algoritmy pro zpracování obrazu 25 5.1 Analýza obrazu . . . 25

5.2 Analýza ve frekvenční oblasti . . . 27

5.3 Prahování . . . 29

5.4 Hranová detekce . . . 31

5.5 Hledání vzoru . . . 32

5.6 Kalibrace obrazu . . . 34

5.7 Vybrané funkce IMAQ Vision . . . 35

6 Návrh aplikace s praktickou realizací 36 6.1 Úvod do problematiky . . . 36

6.2 Popis stroje . . . 37

6.3 Ovládání stroje . . . 38

6.4 Popis aplikace ED-H7 . . . 38

6.5 Návrh aplikace . . . 42

6.6 Vybrané algoritmy měřícího jádra . . . 48

7 Závěr 52

(9)

Seznam tabulek

1 Srovnání klasické a virtuální měřící techniky . . . 3 2 Přehled typů nasvícení scény . . . 6 3 Porovnání analogových a digitálních kamer . . . 8

(10)

Seznam obrázků

1 Přehled vývoje měřící techniky [1]. . . 2

2 Schématické zobrazení měřícího procesu . . . 5

3 Eliminace odlesků filtry . . . 7

4 Schématické zobrazení zorného pole kamery . . . 7

5 Obrázek z prokládané kamery a z kamery „progresive scanÿ . . . 8

6 Prostředí Matlab a nádstavba Simulink . . . 13

7 Prostředí TestPoint . . . 14

8 Experiment v prostředí VEE . . . 15

9 RGB krychle . . . 18

10 Vrstvy RGB barevného prostoru . . . 18

11 Reprezentace HSL (HSV) prostoru pomocí jehlanu . . . 19

12 Rozdělení viditelného světla . . . 21

13 Složky prostoru CIE v závislosti na vlnové délce . . . 22

14 CIE(x,y) diagram . . . 23

15 Histogram . . . 25

16 Funkce IMAQ Vision – Histogram . . . 26

17 Funkce IMAQ Vision – Čárový profil . . . 26

18 Funkce IMAQ Vision – Měření intenzity . . . 26

19 Použití FFT pro filtraci signálu . . . 27

20 Rozdělení frekvenčního spektra . . . 28

21 3D zobrazení spekter . . . 28

22 Funkce IMAQ Vision – Frekvenční oblast . . . 28

23 Příklad prahování . . . 29

24 Prahování na histogramu . . . 29

25 Popis histogramu pro prahování . . . 29

26 Nalezení hran různými konvolučními jádry . . . 31

27 Znázornění hledání hrany v řezu . . . 32

28 Funkce IMAQ Vision – Hranová detekce . . . 32

29 Ukázka metody hledání vzoru . . . 33

30 Korelace . . . 33

31 Funkce IMAQ Vision – Hledání vzoru . . . 33

32 Zkreslení obrazu . . . 34

33 Funkce IMAQ Vision – Kalibrace obrazu . . . 34

34 Funkce IMAQ Vision – Overlay . . . 35

35 Funkce IMAQ Vision – Morphology . . . 35

36 Funkce IMAQ Vision – External Display . . . 35

37 ED Modul . . . 36

38 Modrý a červený zmetek . . . 36

39 Typy rozhraní . . . 37

40 Provozní část aplikace . . . 39

41 Servisní panel pro kameru . . . 40

42 Geometrická kalibrace kamery . . . 41

43 Vývojový diagram . . . 42

(11)

44 Vývojový diagram – Měřící jádro aplikace . . . 43

45 Vývojový diagram – Kontrola rozhraní a seřizování rozhraní . . . 44

46 Hierarchická struktura části aplikace . . . 45

47 Princip toku dat strojem . . . 48

48 Test svítivosti ED modulu . . . 48

49 Polární diagram . . . 49

50 Barevný trojúhelník . . . 49

51 Test barevného rozhraní a jeho ostrosti . . . 50

52 Nalezení bodu zlomu . . . 50

53 Uložení výsledků . . . 51

(12)

Seznam příloh

Návod k obsluze – Manuál pro zařízení na kontrolu a manuální seřizování barvy rozhraní ED modulů.

CD – ROM – Obsahuje „spustitelnéÿ demo vytvořené aplikace, detailní fotografie stroje, ukázky části kódu.

(13)

1 ÚVOD 1

1 Úvod

Ve své diplomové práci se věnuji oblasti optického měření. Jedná se o bezdotykové měření, to znamená, že měřící přístroj se nemusí dotknout ani přiblížit měřenému objektu. Tím jsou eliminovány chyby, které by vznikaly vlivem kontaktního měření. Přesnost měření závisí jen na použité optice kamery. Nejvyšší dosažitelná přesnost je srovnatelná s vlnovou délkou světla, které osvětluje scénu. Protože systémy většinou pracují v oblasti viditelného světla, tak přesnost měření je pod 1 µm. Další nespornou výhodou je rychlost měření. Dnešní kamery standardně pracují se závěrkou 0.001 s což představuje čas potřebný k sejmutí jednoho snímku.

Sejmutí obrazu je jen začátkem měření. Nejdůležitější částí je vlastní zpracování obrazu.

Tuto problematiku jsem nastínil v hlavně v 4. a 5. kapitole. Jedná se však pouze o nastínění problematiky, protože oblast zpracování obrazu je velice rozsáhlou oblastí.

V praktické části diplomové práce jsem realizoval aplikaci pro kamerový systém. Apli- kace kromě analýzy obrazu ještě celý stroj řídila. Pro realizaci aplikace jsem si vybral z mnoha vývojových prostředí, z niž některé jsou popsány v kapitole 3, LabVIEW s modulem IMAQ Vision.

(14)

2 OBLAST MĚŘÍCÍ TECHNIKY 2

2 Oblast měřící techniky

2.1 Vývoj měřící techniky

Obrázek 1: Přehled vývoje měřící techniky [1].

Oblast měření je velmi starou oblastí lidské činnosti sahající do dob, kdy si lidé začali vyrábět první předměty. Větší rozšíření měřící techniky přišlo až s „průmyslovou revolucíÿ.

Od té bylo využití měřící techniky čím dál větší.

Velkým zlomem, který se udál v oblasti měření bylo využití elektrického proudu k měření jiných fyzikálních veličin. Za tímto zlomem se udála spousta menších zlomových okamžiků, jakými jsou například příchod digitálních měřících přístrojů, přístrojů vybave- ných komunikačním rozhraním a v neposlední řadě příchod virtuální instrumentace.

2.1.1 Virtuální instrumentace

Slovo virtuální se začíná kolem nás objevovat čím dál tím více a to zejména s nástupem nově příchozích technologií. Velmi často se používají výrazy jako virtuální realita, virtuální operace atd.

Co vlastně slovo virtuální znamená? Jednoznačně se toto slovo nedá přeložit, ale v širším kontextu to znamená zdánlivý, nereálný. Často se tímto slovem označují věci, které neexistují. A právě virtuální instrumentace se snaží nahradit hardwarové měřící přístroje jejich softwarovou náhradou.

Virtuální instrumentace je novým směrem v oblasti měření. Dovoluje při stejné přesnosti a rychlosti měření snížit náklady na měřící přístroj a navíc je velmi flexibilní, protože své základy staví na masově vyráběných počítačích, které jsou osazovány zásuvnými kartami pro zpracování signálů nebo pro vytvoření patřičného rozhraní. Při potřebě měřit jiné veličiny stačí přepsat softwarovou aplikaci na PC popřípadě vyměnit zásuvné karty v PC.

(15)

2 OBLAST MĚŘÍCÍ TECHNIKY 3

Hledisko Tradiční přístroj Virtuální přístroj

Funkce definuje Výrobce Uživatel

Orientace přístrojů a jejich propojitelnost

Specifické podle funkcí, hlavně používané sa- mostatně s omezenou propojitelností

Specifické podle aplikace s návazností na počítačové sítě a periferie

Klíčový komponent Hardware Software

Náklady na výrobu Vysoké Nízké

Architektura Uzavřená – pevná množina funkcí

Otevřená – pružná závislá na výpočetní výkonnosti PC

Náklady na vývoj a údržbu

Vysoké Nízké

Tabulka 1: Srovnání klasické a virtuální měřící techniky

Tabulka 1 ukazuje srovnání „klasickéÿ měřící techniky s virtuální měřící technikou.

V oblasti virtuální instrumentace (VI) se velmi často používá standardizovaných komu- nikačních rozhraní, pro přenos informací z měřících systémů do vyhodnocovacího systému, kterým bývá počítač. Zde je přehled a malá specifikace nejčastěji používaných komunikač- ních rozhraní.

2.1.1.1 Ethernet

• Vysoké přenosové rychlosti (10 Mb/s až 1 Gb/s výhledově více než 40 Gb/s)

• Možnost využití optického přenosu – vyšší odolnost proti rušení, větší dosah

• Velmi nízká cena a velmi dobrá dostupnost

• Nižší odolnost proti rušení, při použití STP kabelu problémy se zemními smyčkami

2.1.1.2 FireWire

• Standard IEEE 1394 – sériový přenos dat

• Rychlé přenosové rychlosti 100, 200, 400, 800 Mb/s připravovaný nový standard s rychlostí přesahující 3 Gb/s

• Hierarchický způsob adresace zařízení – až 63 zařízení na jeden řadič

(16)

2 OBLAST MĚŘÍCÍ TECHNIKY 4

• Dosah až 100 m

• Vyšší cena a menší dostupnost

2.1.1.3 Paralelné rozhraní GPIB

• Vysoká přenosová rychlost (1 až 8 MB/s v závislosti na použitém protokolu)

• Možnost připojit na jeden řídící počítač více měřících přístrojů

• Omezená vzdálenost přístrojů (max. 20 m)

• Není standardním vybavením počítače, počítač je nutno osadit řadičem

• Drahá kabeláž

2.1.1.4 Sériové RS232

• Jednoduchá a levná kabeláž (pro komunikaci stačí jen 3 dráty)

• Standardní vybavení PC, ale dnes nahrazováno USB

• Velká překlenutelná vzdálenost mezi komunikujícími zařízeními

• Velmi velká odolnost rozhraní proti zničení

• Omezení na pouhé dva komunikující účastníky

• Velmi malá datová propustnost

(17)

2 OBLAST MĚŘÍCÍ TECHNIKY 5

2.2 Proces měření

Obrázek 2: Schématické zobrazení měřícího procesu

Obecně se dá proces měření popsat takto [1]:

1. Fáze sběru dat či řízení technologického procesu – k tomuto můžeme použí následující typické způsoby

• Zásuvné multifunkční karty

• Přístroje vybavené RS232 nebo jiným sériovým rozhraním

• Přístroje vybavené GPIB sběrnicí

• VXI, PXI měřící systémy

• PLC

• Snímání obrazu

• Průmyslové I/O systémy

• FieldPointy

2. Analýza dat – v této fázi se získávají důležité informace ze surových dat

• Digitální zpracování signálu

• Digitální zpracování obrazu

• Filtrace signálu

• Frekvenční analýza

• Statistika

3. Poslední fází je reprezentace naměřených a analyzovaných dat

• Grafické znázornění uživateli

• Síťové aplikace

• Archivace v souborech, tisk

(18)

2 OBLAST MĚŘÍCÍ TECHNIKY 6

2.3 Zpracování obrazu v průmyslové výrobě

Zpracování obrazu v průmyslové výrobě se používá zejména ke sledování průmyslových procesů nebo ke kontrole parametrů výrobků.

Velmi často se kontroluji součástky, jestli jsou vůbec osazeny nebo jestli jsou tam kde mají být. Dále se také pomocí optického měření sledují rozměrové vzdálenosti, zakřivení, úhly, potisky, nápisy.

Při návrhu kamerového systému je nutné počítat s osvětlením scény a také optikou kamery. Osvětlení se dá rozdělit na:

• Halogenové

• složené LED

• Fluorescentní

• Laserové

Tabulka 2 popisuje výhody a nevýhody jednotlivých druhů osvětlovacích technik.

Technika Kruhový zdroj Stroboskop Posvícení

Jak funguje Prstenec kolem ob- jektivu

Krátké záblesky světla

Objekt mezi kame- rou a zdrojem světla

Výhody Rovnoměrné osvět-

lení

Pohybující se před- měty jsou ostré

Ostrá silueta Rizika Možný vznik kruho-

vého odlesku

Často nutné zesvět- lit tmavé obrázky

Ohyb světla kolem oblých předmětů Tabulka 2: Přehled typů nasvícení scény

Odlesky a stíny, které na snímané scéně mohou vzniknout, se dají eliminovat několika způsoby. Ten nejjednodušší je změnit polohu nasvícení, což ne vždy se dá udělat. Další metodou jak se zbavit odrazů je použití filtrů, před objektiv kamery. Obrázek 3 ukazuje rozdíl, pokud se použijí filry na lesknoucí se povrchy.

Kamerový systém se skládá z kamery a z počítače (zařízení pro zpracování obrazu).

Při návrhu kamerového systému je zapotřebí brát v úvahu i zorné pole kamery. Obrázek 4 schématicky znázorňuje tuto situaci. Pro minimální zorné pole platí

a = v · d

f (1)

(19)

2 OBLAST MĚŘÍCÍ TECHNIKY 7

Obrázek 3: Eliminace odlesků filtry

Obrázek 4: Schématické zobrazení zorného pole kamery

2.3.1 Kamera

Je nejdůležitějším prvkem kamerového systému. Kamery se dají rozdělit na:

Analogové – Analogový výstup v TV standardech, digitalizace na kartě v PC, nejčastěji používané kamery.

• S prokládaným obrazem – Každý snímek se skládá ze dvou proložených půls- nímků.

• „Progresive scanÿ – Také zvané non-standard či non-interlaced, snímá celé snímky najednou, odstraňuje rozmazání pohybujících se předmětů viz. obrázek 5.

Digitální – Digitalizace přímo v kameře, přenos bez ztráty kvality, možné vyšší rozli- šení (1000x1000 pixelů a víc), rychlé snímání (30 a více snímků/s), vyšší kontrast (hloubka pixelu 8 až 14 bitů), připojení přes IEEE 1394 (FireWire) nebo paralelně (až 200MB/s).

Tabulka 3 porovnává analogové kamery si digitálními.

(20)

2 OBLAST MĚŘÍCÍ TECHNIKY 8

Obrázek 5: Obrázek z prokládané kamery a z kamery „progresive scanÿ

Analogové kamery Digitální kamery

Levnější Nepatrně dražší

Běžně používané a známé Větší rozlišení

Jednoduchý kabel s BNC konektorem Vyšší snímková rychlost

Problémy s přenosem signálu Větší hloubka pixelu a lepší odolnost vůči šumu

Možnost přímého připojení monitorů Možnost síťového propojení (u IEEE-1394) Tabulka 3: Porovnání analogových a digitálních kamer

2.3.1.1 Další důležité technologie kamer

Řádková kamera – Line Scan kamery. Snímací čip je tvořen řadou snímacích elementů.

Proto kamera nesejme celý obraz najednou, ale často bývá synchronizována externími pulsy, které jsou většinou odvozeny od pohybu/rotace součástky. Nastavení těchto kamer je velice obtížné, protože neposkytují celý obraz a obsluha nic nevidí.

IR, blízká oblast IR, UV, X-Ray kamery – Tyto kamery snímají obraz mimo vidi- telné spektrum. Kamery jsou vhodné pro sledování úniků energie, hledání defektů v materiálech, atd. Kamery jsou často osazovány standardním video výstupem.

(21)

3 SW VÝVOJOVÁ PROSTŘEDÍ 9

3 SW vývojová prostředí

SW prostředí slouží k vývoji „měřícíchÿ aplikací. Klasická vývojová prostředí jako jsou C, C++, Delphi, JAVA nejsou vhodná pro měřící aplikace, protože bez rozšiřujících funkcí nejsou schopny komunikovat se všemi druhy komunikačních rozhraní a navíc jim chybí funkce pro zpracování signálu. Proto zde jsou vývojové nástroje, které dovolují vytvořit měřící aplikaci přímo na míru podle oblasti měření. Programátoři v takovýchto prostředích mají připravené funkce a objekty pro komunikaci s okolím a základní funkce pro zpracování signálů.

SW prostředí pro vývoj měřících aplikací je velmi mnoho, proto zde uvádím pouze ty nejvíce používané.

3.1 Control Web

Control Web je SW prostředním od tuzemské firmy Moravské přístroje, která je konkurencí pro NI. Prostředí poskytuje mnoho nástrojů pro vývoj aplikací všech druhů. Od jednodu- chého řízení malé vodní elektrárny až po obrovské výrobní procesy s mnoha operátorskými obrazovkami rozmístěmými na velké ploše závodu.

Zde je výčet nejvýznamnějších vlastností tohoto SW prostředí:[8]

• Velká podpora hardware – s patřičným ovladačem dokáže komunikovat s čímkoliv

• Otevřená architektura ovladačů

• Podpora otevřených protokolů – ASCI

– OPC Data Access – OPC servery – DDE / NetDDE, FastDDE

– GSM modemy, SMS zprávy, Modicon Modbus, Modbus/TCP

• Podpora otevřených standardů

– TCP/IP, HTTP, HTML (Ethernet, WiFi, dial-up, ) – ODBC / SQL

– COM / ActiveX

– OPC (OLE for Process Control) – GSM / GPRS

(22)

3 SW VÝVOJOVÁ PROSTŘEDÍ 10

– DDE, NetDDE

• Integrované vývojové prostředí – Tvorba aplikace drag & drop

– Komponenty (virtuální přístroje) aplikace přetahovány z palety – Modifikace parametrů v dialogových oknech

– Přístrojový inspektor modifikuje specifické parametry daného virtuálního pří- stroje

– K tvorbě aplikace není zapotřebí znalost programování – Funkce aplikace řízena parametry a výrazy

– Programovací jazyk je k dispozici pro řešení náročnějších požadavků zákazníků – Grafický vývoj aplikací

• Dostupnost pro všechny platformy Windows

Prostředí poskytuje velké množství funkcí mezi nimi jsou i funkce na vizualizaci procesů.

Procesy mohou být zobrazovány jak 2D tak i 3D. Další informace k tomuto prostředí najdete na webových stránkách firmy Moravské přístoroje.1

3.2 LabVIEW

3.2.1 Základní filozofie vývojového prostředí LabVIEW

Stím jak rostlo využívání výpočetní techniky v oblasti měření, zároveň rostla potřeba psaní SW pro měřící aplikace. Bohužel klasické vývojové prostředky pro tvorbu aplikací byly a jsou tak složité, že na vytvoření i jednoduché aplikace by bylo zapotřebí vystudovaného informatika. Oblast měření se však také stala také velmi složitou a proto se hledala cesta jak psaní programů zjednodušit.

Z počátku se velmi často využívalo diagramů, které se předávaly informatikům a ti podle nich vytvářely aplikace. Tento přístup je ale velmi neefektivní a do oblasti měření nepřinášel nic nového, spíše naopak vznikaly další problémy a chyby. Proto se skupinka nadšenců v čele s Jeffem Kodovským, který byl duchovním otcem celého projektu, se rozhodla, že vytvoří nástroj který bude pro inženýra stejně efektivní a pružný jako pro finančního analytika tabulkový procesor. V roce 1986 přišla firma NI s první verzí LabVIEW tenkrát ještě pro Macintosh, protože PC v té době nedosahovaly potřebného výkonu.

1www.controlweb.cz

(23)

3 SW VÝVOJOVÁ PROSTŘEDÍ 11

Celá filozofie prostředí LabVIEW se odvodila z kreslených diagramů, které se předá- valy informatikům k programování. Myšlenka byla taková, že přepis diagramu do kódu je strojová záležitost, a tudíž by ji mohl vykonávat počítač místo člověka. Díky tomu, že se o překlad diagramu staral počítač, došlo k výraznému zjednodušení a aplikace si mohli začít psát přímo technici, kteří se zabývaly měřením. Celé programování je orientované graficky, proto se často hovoří o programovacím jazyku G.

LabVIEW je obecným vývojovým prostředím s bohatými knihovnami pro vytváření aplikací zaměřených do oblasti měření pro všechny fáze tohoto procesu - t.j. od sběru, analýzy až prezentaci naměřených dat. LabVIEW podporuje všechny způsoby sběru dat do počítače (z měřících přístrojů přes komunikační rozhraní, ze zásuvných multifunkčních karet a ze systému na bázi VXI sběrnice). Díky snadné komunikaci LW s měřícími systémy přes různá rozhraní, výrazně vzrostla obliba tohoto vývojového prostředí. Toto vývojové prostředí dokáže komunikovat přes všechny standardizované rozhraní jako jsou Ethernet, Bluetooth, Infrared, USB, RS458, RS232, GPIB atd.

3.2.2 Virtuální přístroj

• Interaktivní grafické rozhraní (Graphical User Interface - GUI) ke koncovému uživa- teli - tzv. čelní panel (Front Panel), který simuluje čelní panel fyzického přístroje.

Obsahuje prvky pro ovládání a indikaci (knoflíky, tlačítka, LED indikátory, grafy . . .).

Tento čelní panel ovládá uživatel myší nebo z klávesnice.

• Činnost virtuálního přístroje je dána jeho blokovým schématem (Block Diagram).

Toto blokové schéma je vytvořeno ikonami reprezentujícími v koncových blocích ovlá- dací a indikační prvky čelního panelu a ve svých uzlových blocích jsou to bloky zpracovávající procházející data. Tento blokový diagram je zdrojovou podobou každé aplikace.

• Virtuální přístroj má hierarchickou a modulární strukturu. Lze jej používat jeko celý program nebo jeho jednotlivé podprogramy, které se nazývají podřízenými virtuál- ními přístroji (SubVI). Součástí každého virtuálního přístroje je jeho ikona, kterou je prezentován v blokovém schématu a konektor s přípojnými místy pro vstupní a výstupní signály.

3.2.3 Popis prostředí

Programování v LabVIEW podléhá DataFlow, což znamená, že funkce se začne vykonávat až v okamžiku, kdy má na svých vstupech platná data. V praxi se stává, že kód na konci se vykoná jako první, protože dostane na své vstupy platná data.

Prostředí běží na OS Windows, ale v současné době již firma NI uvolnila verzi pro Linux. Prostředí je vysoce modulární a lze jej rozšířit SW moduly, které rozšiřují vlastnosti

(24)

3 SW VÝVOJOVÁ PROSTŘEDÍ 12

prostředí. Já jsem využil modul IMAQ Vision, který bude popsán dále. Pro běh samostatně spustitelné aplikace je zapotřebí Run–Time Engine, který vytváří spojení mezi aplikačním rozhraním a rozhraním vývojového prostředí. Dále jsou potřeba engines pro jednotlivé použité moduly, které vytváří vazbu mezi HW a aplikací.

3.3 LabWindows/CVI

Firma National Instrument kromě LabVIEW také v roce 1989 vyvinula LabWindows/CVI.

Jedná se o prostředí, kde se neprogramuje graficky, ale píše se klasický kód v jazyku ANSI C. Výhodou tohoto prostředí je kombinace grafického návrhu uživatelského rozhraní s klasickým programováním.

LabWindows/CVI má podobné vlastnosti jako LabVIEW. Má v sobě zabudovánu pod- poru GPIB, RS232/485/488, Ethernetu a dalších komunikačních rozhraní. Kromě toho je standardně v prostředí mnoho matematických funkcí, které zjednodušují vývoj měřící aplikace.

Prostředí je také tvořeno modulárně, to znamená, že vlastnosti prostředí se dá rozšířit SW modulem. Toho se využívá, při realizaci kamerových systémů, kdy se do prostředí přidává modul IMAQVision, který umožňuje pohodlné zpracování obrazových informací.

3.3.1 Historie prostředí

2003 verze 7.0 – Úprava grafického rozhraní

2001 verze 6.0 – Zahrnutí technologie ActiveX do prostředí 2000 verze 5.5 – Více vláknové knihovny/překladače

1998 verze 5.0 – Kompatibilita s VXI a IVI 1996 verze 4.0 – Verze s externím kompilátorem 1994 verze 3.0 – Verze pro DOS, Windows a Sun

1991 verze 2.0 – Verze pro DOS, nástroje pro vytváření GUI 1989 verze 1.0 – Představení prostředí pro DOS

(25)

3 SW VÝVOJOVÁ PROSTŘEDÍ 13

Obrázek 6: Prostředí Matlab a nádstavba Simulink

3.4 Matlab

Název Matlab znamená MATrix LABaboratory. Používá se od roku 1984 v mnoha obo- rech zejména k simulacím, měření a k zobrazování měřených výsledků. Základ Matlabu je postaven na numerických řešeních a práci s maticemi, vektory.

Matlab je vysoce modulárním prostředím, kde jednotlivé moduly se nazývají toolbox.

Díky tomu je možné Matlab rozšířit na jakoukoliv oblast zájmu. Pro zpracování obrazu se využívá Image Toolbox , který v sobě integruje všechny potřebné funkce (detekce hran, prahování atd.) pro zpracování obrazu.

Díky robustnosti Matlabu se vytvářejí další prostředí, které zjednodušují práci s Matla- bem. Asi nejznámější nadstavbou je Simulink, který v sobě spojuje blokové grafické pro- gramování spolu se simulací. Obrázek 6 ukazuje prostředí Simulink. Další již méně známou nadstavbou je FemLab, která dovoluje vyvářet velmi složité simulace všech fyzikálních dějů.

V současné 7. verzi Matlabu je vidět, posun od čistě teoretického nasazení Matlabu k praktickému nasazení v oblasti měření. Z tohoto důvodu byla tato verze vybavena funk- cemi podporující sběr dat a také byly rozšířeny funkce umožňující zpracovaní naměřených signálů.

Matlab lze doplnit i překladačem do kódu C/C++ a zněj vytvořit spustitelnou aplikaci.

Díky velkému množství „toolboxůÿ je Matlab neporazitelný na poli numerických výpočtů.

Jeho největší slabostí je rychlost a HW nároky, což u tak robustního systému lze očekávat.

(26)

3 SW VÝVOJOVÁ PROSTŘEDÍ 14

Obrázek 7: Prostředí TestPoint

3.5 TestPoint

3.5.1 Co je to TestPoint?

V [2] je TestPoint popsán jako nástroj, pro vytváření vlastních testů, měřících aplikací a aplikací které mají za úkol sběr dat. TestPoint v sobě zahrnuje funkce pro kontrolu exter- ního hardware, prostředí pro vývoj uživatelského rozhraní, funkce podporující zpracování a zobrazení dat. Dále také podporuje dynamickou výměnu dat tvz. DDE ve Windows.

TestPoint je novou unikátní alternativou konvenčním programovacím jazykům.

V TestPointu od firmy KEITHLEY si vyberete objekt, což je komponenta ve Vaší aplikaci. Výběr objektu se provádí přetažením myší do formuláře. Tato metoda se velmi často označuje anglickým drag&drop, což doslova znamená táhni a pusť.

Toto vývojové prostředí nemá prakticky žádné limity, prostředí obsahuje všechny pro- středky pro kontrolu běhu programu a jeho ladění. V tomto prostředí je dobře propracována podpora vlastního hardware, podpora pro volání funkcí z externích knihoven. Díky DDE se dají velmi dobře zpracovávat informace předávané jinými programy nebo jiným programům je předávat.

3.5.2 Co TestPoint umí?

• Podpora zařízení [3]

– Knihovna nejvíce používaných zařízení – Podpora GPIB, RS232 a RS485 zařízení – Podpora pro VXI zařízení přes GPIB

• Sběr dat

– Podpora analogových a digitálních vstupů i výstupů

(27)

3 SW VÝVOJOVÁ PROSTŘEDÍ 15

– Limitní alarmy – Logování na disk

• Analýza

– FFT, digitální filtry, vyhlazení naměřených vzorků – Prokládání dat křivkami, polynomy, interpolace

– Operace s maticemi, inverzní matice, determinanty . . . – Statistika zahrnující průměr, odchylky, medián, historam . . .

• Prezentace a zprávy

– Grafy, XY, sloupcový, polární . . . – Indikátory a bitmapové obrázky – Tisknutelné reporty

• Uživatelské rozhraní

– Tlačítka, přepínače, knoflíky posuvníky . . . – Vícenásobné panely

– Prvky podporující ActiveX

• Funkce pro podporu DDE atd.

3.6 VEE

Obrázek 8: Experiment v prostředí VEE

(28)

3 SW VÝVOJOVÁ PROSTŘEDÍ 16

Od doby kdy firma dodala na trh první verzi SW vývojového prostředí HP VEE uply- nulo mnoho času a v současné době už prostředí VEE nevyvíjí firma HP, ale Agilent, pod kterou prostředí prodělalo zajímavý vývoj. Prostředí VEE se dokonce využívá v agentuře NASA [4], která jej využila pro návrh komunikačního zařízení při misi na Mars v lednu 2004. Vozítka Spirit a Opportunity pátraly po vodě na této planetě.

Zkratka VEE znamená Visual Engineering Environment což dokonale popisuje toto vývojové prostředí. Jedná se o grafické programování. Vývojové prostředí je dostupné v mnoha variantách. Může pracovat na IBM PC, pracovních stanicích HP nebo také na pra- covních stanicích Sun a je podporováno pro všechny operační systémy Windows (Win95/98, WinXP, WinNT) a také pro HP Unix 9.0.

Vývoj měřícího či řídícího programu v grafickém vývojovém prostředí VEE spočívá v se- stavení blokového diagramu z definovaných objektů a jeji propojení signálových toků. Tato technika o proti klasickému způsobu programování na úrovni vyšších jazyků, umožňuje podstatným způsobem urychlit vývoj a odladění aplikačního programu, jak pro jednodu- ché tak pro velmi složité měřící aplikace. Zejména snadné naprogramování uživatelského rozhraní, testovacích sekvencí a ovládání přístrojů po sběrnici přináší výrazné zvýšení pro- duktivity programátorské práce.

Toto vývojové prostředí se řídí pravidlem DataFlow, což znamená, že příslušný blok programu se vykoná až tehdy, jestliže má na svých vstupech platná data. Samotné progra- mování je velmi podobné programování v systému LabVIEW. Prostředí dokáže komuniko- vat s různými typy komunikačních rozhraní a také jsou do něj zapracovány nové technologie např. volání dll knihoven.[5][6]

VEE není příliš rozšířeným vývojovým prostředím, proto více najdete na stránkách firmy Agilent.2

2www.agilent.com/find/vee

(29)

4 DIGITÁLNÍ OBRAZ 17

4 Digitální obraz

4.1 Definice digitálního obrazu

Obraz je definován dvojrozměrnou jasovou funkcí f (x, y). Pro digitální zpracování se tato funkce diskrerizuje na dvojrozměrné pole (matice) diskrétních hodnot, které určují jas obrazu a které lze zpracovávat na počítačích.

4.2 Parametry obrazu

4.2.1 Rozlišení obrazu

Rozlišení obrazu udává, kolik obrazových bodů (pixelů) je v každém řádku a sloupci ob- razu. Pokud obraz má rozlišení 1024x768 tak obraz obsahuje 1024 sloupců a 768 řádků dvojrozměrné matice, kterou je obraz definován. Tím také udává, z kolika bodů se obraz bude skládat. Pro rozlišení 1024x768 je obraz tvořen 786 432 body.

4.2.2 Barevná hloubka

Barevná hloubka určuje, do kolika úrovní je možné zakódovat jasovou informaci funkce f (x, y). Pokud obraz má 8bitovou barevnou hloubku potom obraz bude mít maximálně 255 odstínů šedé. Barevný obraz se skládá z několika vrstev, kde jednotlivé vrstvy nesou informaci o barvě v závislosti na použitém barevném prostoru. Barevná hloubka je součtem barevných hloubek jednotlivých vrstev. Například pro RGB model s 24bitovou barevnou hloubkou platí

Ndepht= Rdepth+ Gdepth+ Bdepth (2)

po dosazení do 2

224= 28R + 28G+ 28B (3)

4.3 Barevné prostory

Barevnými prostory, někdy označovanými jako barevnými modely, se popisuje systém re- prezentace barev. Každý barevný obrázek se dá popsat několika dvojrozměrnými funkcemi f (x, y), z niž každá funkce nese informace, nutné ke složení výsledného barevného obrázku.

Podle informací, které jednotlivé funkce obsahují se barevné prostory dělí na RGB, HSL, CIE aj.

(30)

4 DIGITÁLNÍ OBRAZ 18

4.3.1 Barevný prostor – RGB

Jedná se o nejjednodušší barevný model a díky své jednoduchosti má i velmi mnoho ne- dostatků. Jedná se o takzvaný aditivní model. Aditivní proto, protože každá barva vzniká součtem třech barevných složek. Proto každý obrázek má 3 nebo 4 barevné vrstvy. Z názvů jednotlivých vrstev je i odvozen název tohoto modelu. RGB znamená, že obraz se skládá z červené – R, zelené – G a modré – B. Někdy je do obrázku doplněna 4. vrstva, která představuje průhlednost.

Obrázek 9: RGB krychle

Barevný prostor RGB se dá představit jako jednotková krychle viz. obrázek 9. Její vr- choly pak zaujímají základní barvy prostoru. Je to černá, která je v souřadnicích (0,0,0), pak je to bílá (1,1,1), červená (1,0,0), zelená (0,1,0), modrá (0,0,1). To jsou známější vr- choly krychle, ale dále tam jsou žlutá (1,1,0), zeleno-modrá (Cyan) (0,1,1) a fialová se souřadnicemi (1,0,1). Rozložení do jednotlivých vrstev ukazuje obrázek 10.

Obrázek 10: Vrstvy RGB barevného prostoru

Tento barevný prostor je díky své jednoduchosti používán v počítačové grafice a v oblastech kde se výsledný obraz skládá (aditivní barevný prostor) z elementárních barev (monitory,LCD). Díky své jednoduchosti je tento prostor velmi nedokonalým prostorem,

(31)

4 DIGITÁLNÍ OBRAZ 19

který nedokáže popsat všechny viditelné barvy ani při barevné hloubce TrueColor. Proto se zavedly další barevné prostory, které „odstraňujíÿ některé nevýhody RGB modelu.

4.3.2 Barevný model – HSL

HSL barevný model byl vyvinut pro snazší kvantifikaci a barev lidmi. HSL barevný prostor se skláda z tří vrstev, které jsou označovány H (Hue), S (Saturation), L (Luminance někdy také značována jako Brightness). Někdy se ještě používá kombinace H a S složky, která se nazývá Chromaticity.

Hue vyjadřuje dominantní vlnovou délku světla. Hue složka je barva jako např. oranžová, zelená nebo fialová. Tuto složku barevného prostoru je možné vyjádřit jako barevné spektrum.

Saturation popisuje, kolik bíle je přidáno barvy a reprezentuje čistotu barvy. Obrázek bez bílé je plně saturován. Stupeň saturace je inverzní k množství přidané bílé barvy.

Luminance vyjadřuje intenzitu světla.

Obrázek 11: Reprezentace HSL (HSV) prostoru pomocí jehlanu

Obrázek 11 ukazuje znázorněný HSL barevný prostor jako kužel barev. HSL barevný pro- stor je ideálním prostorem, pro vývoj aplikací strojového vidění.

Převod z RGB prostoru do HSL prostoru se nedá popsat v maticovém vyjádření [9].

L = 0, 299 · R + 0, 587 · G + 0, 114 · B (4)

H = 256 · tan−1

3·(G−B)

2R−G−B



2π (5)

S = 255 ·1 − 3min(R, G, B

R + G + B (6)

Převod z HSL do RGB barevného prostoru je složitější h = H · 2π

256 (7)

(32)

4 DIGITÁLNÍ OBRAZ 20

s = S

256 (8)

s0 = 1 − s

3 (9)

f (h) =

1 − s·cos(h)

cos(π3−h)

3 (10)

b = s0 r = f (h) g = 1 − r − b



0 < h ≤ 2π 3



(11)

h0 = h −3 r = s0 g = f (h0) b = 1 − r − g



3 < h ≤ 4π 3



(12)

h0 = h −3 g = s0 b = f (h0) r = 1 − g − b



3 < h ≤ 2π



(13)

l = 0, 299 · r + 0, 587 · g + 0.114 · b (14) l0 = L

l (15)

R = r · l0 (16)

G = g · l0 (17)

B = b · l0 (18)

4.3.3 Barevný model – CIE XYZ

Lidské oko není citlivé na všechny barvy stejně. Aby se reprezentace barev přiblížila lid- skému vnímání, byl v roce 1931 vyvinut CIE barevný model.

Viditelné světlo je část z elektromagnetické vlnění s vlnovou délkou λ mezi 400 nm a 700 nm. Lidé vnímají tyto vlnové délky jako barvy, fialovou, přes indigo, modrou, zelenou, žlutou oranžovou a červenou. Obrázek 12 ukazuje množství jednotlivých barev, potřebných k tomu, aby se světelnost jevila konstantní. Jak je vidět z obrázku 12 tak mezi 438, 1nm a 546, 1nm se nachází oblast s zápornými hodnotami. To ukazuje, že všechny viditelné barvy nelze popsat klasickým RGB modelem. I proto byl vyvinut CIE barevný prostor.

(33)

4 DIGITÁLNÍ OBRAZ 21

Obrázek 12: Rozdělení viditelného světla

CIE barevný prostor byl vyvinut jako systém 3 základních barev (XYZ) ve kterém lze všechny viditelné barvy reprezentovat součtem nezáporných hodnot X, Y a Z. Složka Y nese informace o světelnosti (obdoba složky L u HSL modelu) a složky X a Z obsahují informace o barvě.

Tento prostor se v roce 1976 dočkal rozšíření, jednotlivé složky byly nahrazeny lo- garitmickým průběhem, který více odpovídá citlivosti lidského oka. Barevný prostor byl pojmenován CIE L*a*b*.

Pro převod obrazu z RGB do CIE XYZ barevného prostoru můžeme využít vztahů, které lze zapsat maticovým zápisem. To je vhodné pro strojové zpracování.

X Y Z

=

0, 412453 0, 357580 0, 180423 0, 212671 0, 715160 0, 072169 0, 019334 0, 119193 0, 950227

·

R G B

(19)

Pro převod z CIE XYZ do RGB barevného prostoru slouží následující vztah

R G B

=

3, 240479 −1, 537150 −0, 498535

−0, 969256 1, 875992 0, 041556 0, 055648 −0, 204043 1, 057311

·

X Y Z

(20)

(34)

4 DIGITÁLNÍ OBRAZ 22

Obrázek 13: Složky prostoru CIE v závislosti na vlnové délce

S výhodou se u tohoto prostoru využívá normalizace, která dovoluje prostor zjednodušit do dvojrozměrné plochy. Pro normalizace musí být splněna následující podmínka

X + Y + Z = 1 (21)

Normalizace hodnot je definována

x = X+Y +ZX y = X+Y +ZY z = X+Y +ZZ

(22)

Po normalizaci můžeme souřadnici z vypočítat

z = 1 − x + y (23)

Diagram z (x, y) je označován jako CIE 1931 chromatický diagram, nebo CIE(x,y) chro- matický diagram. Obrázek 14 jej ukazuje s proloženým RGB trojúhelníkem.

4.4 Nejvíce používané grafické soubory

Grafickým souborem se rozumí soubor ve kterém jsou uložena obrazová data. Obrazová data v souborech mohou být uložena různě. Proto se vytvořilo několik specifikací, jak se data mají do souboru uložit, aby se dala přečíst a rekonstruovat do obrazu, který poté vnímáme. Grafických souborů je nepřeberné množství (přes 30 používaných), proto zde uvádím jen ty nejpoužívanější.

4.4.1 BMP – BitMaP

Tento soubor se používá k bezeztrátovém uložení obrazových informací. Většinou je tento soubor bez komprese, ale existuji i bitmapy, které využívají bezeztrátovou kompresi. Díky tomu, že tento souborový formát většinou nevyužívá kompresi, tak jeho soubory jsou velmi velké, ale načtení takovýchto dat je velmi rychlé.

(35)

4 DIGITÁLNÍ OBRAZ 23

Obrázek 14: CIE(x,y) diagram

4.4.2 JPG – Joint Photographics Group

Jedná se o ztrátový formát ukládání dat. Ztrátový znamená, že pokud máme obraz a uložíme jej do JPG již nikdy nebudeme schopni vytvořit obraz, který bude stejný jako ne- uložený obraz, protože při ukládání se část informací zahazuje. Načtený obraz je tedy vždy pouze aproximací původního obrazu, proto si můžeme všimnou, že při uložení obrázku, který má ostré přechody mezi bílou a černou, dojde k rozmazání těchto hran. (Viditelné až od vyšších kompresních poměrů.)

V dnešní době jsou dva druhy JPGu. Klasický, který využívá diskrétní kosinovou trans- formaci (kompresní poměr je až 1:40) a JPEG 2000, který využívá kompresi založenou na waveletech (kompresní poměr je až 1:100).

(36)

4 DIGITÁLNÍ OBRAZ 24

4.4.3 PNG – Protable Network Graphics

Tento formát byl vyvinut za náhradu formátu GIF. Je specifikován v několika verzích, které dovolují bezeztrátově uložit obrázky v 8bitové, 24bitové a 48bitové barevné hloubce.

Dále tento formát přináší vrstvu průhlednosti (často je označována jako α-kanál) a také možnost zapsat neomezené množství metadat.

4.4.4 GIF – Graphics Image Format

Byl v 80. letech vyvinut původně pro použití v sítích BBS, proto byl navržen pro přenos obrazu přes ve své době špičkové modemy s přenosovou kapacitou 2 400 bps. GIF dovoluje ukládat obrázky jak se ztrátovou kompresí, tak i bezeztrátově. U GIFu se používá kompresní algoritmus LZW. V době vzniku bylo používání tohoto algoritmu zcela volné. Na počátku devadesátých let však firma Unisis, majitel patentu na LZW, zpřísnil politiku využívání algoritmu. To byl také jeden z důvodů, proč se začal vyvýjet nový formát PNG. GIF dokáže „popsatÿ 256 barev, což z dnešního hlediska je nepřijatelně málo, ale v době vzniku se předpokládalo, že se stejně nikdy nebude zobrazovat víc jak 256 barev. Pro připomenutí v té době počítače standardně pracovaly s monochromatickou obrazovkou.

V roce 1989 byla vydána novější specifikace, která zavedla podporu transparentnosti.

Tato specifikace bývá označována jako GIF89a.

Nespornou výhodou formátu GIF je možnost ukládat pohyblivé obrázky. Asi každý viděl na webových stránkách pohybující se loga, která byla uložena právě ve formátu GIF.

Tento standard je dnes již velmi zastaralý a kromě webových stránek se moc nepoužívá.

(37)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 25

5 Základní algoritmy pro zpracování obrazu

Pro praktickou realizaci jsem si zvolil prostředí LabVIEW s rozšiřujícím modulem IMAQ Vision, proto jsem při popisu funkcí vycházel z [9]. Některé definice proto nebudou obecné, ale budou podle toho, jak jsou implementovány v IMAQ Vision.

5.1 Analýza obrazu

5.1.1 Histogram

Histogram je graf celkového počtu pixelů pro každou úroveň šedé, jinými slovy popisuje rozložení intenzity světla mezi jednotlivé barvy (odstíny šedé). Histogram je základním pro- středkem k analýze obrazu. Pomáhá identifikovat různé části obrazu, například rozpoznat objekt od šumu.

Z histogramů se dají odvodit dva důležité údaje.

Saturace – Určuje jestli je obraz podexponován nebo naopak jestli nedošlo u obrazu k přeexponování.

Nedostatek kontrastu – Tento údaj určuje, jak obtížně se budou dát rozeznat objekty na ploše od pozadí.

Definice:

Histogram je funkce H definována na rozsahu šedé [0, . . . , k, . . . , 255] potom

H(k) = nk (24)

kde k je úroveň šedé a nk je počet pixelů v obrázku s úrovní šedé k.

Obrázek 15: Histogram

(38)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 26

IMAQ Vision

Obrázek 16: Funkce IMAQ Vision – Histogram

5.1.2 Čárový profil

Udává rozložení intenzity podél definované čáry. Vhodný pro detekci hran objektu, v pře- dem definovaných místech.

IMAQ Vision

Obrázek 17: Funkce IMAQ Vision – Čárový profil

5.1.3 Měření intenzity

Tyto funkce měří intenzitu na definovaných plochách, liniích, bodech. Měří se

• Minimální hodnota intenzity

• Maximální hodnota intenzity

• Střední hodnota intenzity

• Stardardní odchylka intenzity

IMAQ Vision

Obrázek 18: Funkce IMAQ Vision – Měření intenzity

(39)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 27

Obrázek 19: Použití FFT pro filtraci signálu

5.2 Analýza ve frekvenční oblasti

Analýza využívá filtrace dat ve frekvenční oblasti. Obrázek 19 ukazuje využití rychlé Fou- rierovy transformace (FFT) pro sestavení frekvenčního filtru. Pro zpracování signálů ve frekvenční oblasti se také využívají wavelety, ale ty nejsou v IMAQ Vision implemento- vány.

Definice :

Fourierová transformace pro dvojrozměrné signály (obraz) je definována:

F (u, v) =

Z

−∞

Z

−∞f (x, y) · e−j·2π(x·u+y·v)

dxdy (25)

Kde F (u, v) je frekvenční obraz vzoru, f (x, y) je vzor a (u, v) jsou prostorové frekvence.

Pro diskrétní tvar platí:

F (u, v) = 1 M · N

N −1

X

x=0 M −1

X

y=0

f (x, y) · e−j·2π(u·xN +v·yM) (26) Kde N × M je rozlišení obrázku f (x, y). Frekvenční obraz F (u, v) je dán komplexními čísly, proto je reprezentace stejná, jako reprezentace komplexních čísel. Komplexní čísla se dají rozložit na reálnou část a imaginární.

F (u, v) = R(u, v) + jI(u, v) (27)

kde R(u, v) je reálná část komplexního čísla a I(u, v) je komplexní část. Komplexní čísla se také dají reprezentovat velikostí a fázovým posunem.

F (u, v) = |F (u, v)| · ejφhu,vi (28) Pro |F (u, v)| platí

|F (u, v)| =qR(u, v)2+ I(u, v)2 (29) a pro φhu, vi platí

φhu, vi = tan−1I(u, v)

R(u, v) (30)

Pro zpětnou transformaci z frekvenční oblasti do časové oblasti platí f (x, y) =

N −1

X

u=0 M −1

X

v=0

F (u, v)ej2π(u·xN v·y

M) (31)

(40)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 28

Obrázek 20: Rozdělení frekvenčního spektra

Obrázek 21: 3D zobrazení spekter a)Dolní propusť b)Horní propusť c)Frekvenční spektrum bez eliminace frekvencí

Ze získaného frekvenčního obrazu F (u, v) se dají vyčíst informace o ostrosti obrázku.

Obrázek 20 ukazuje rozložení frekvencí. Frekvenční filtry pracují na principu eliminací jednotlivých kmitočtů ve frekvenčním spektru. Obrázek 21 zobrazuje 3D vykreslené spektru a eliminaci kmitočtů pro jednotlivé druhy filtrů.

IMAQ Vision

Obrázek 22: Funkce IMAQ Vision – Frekvenční oblast

(41)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 29

5.3 Prahování

Prahováním (Tresholding) se rozumí, rozdělení obrazu do dvou oblastí. Na oblast, kde úro- veň jasu nedosahuje patřičné hodnoty, a na druhou oblast, kde úroveň jasu tuto hodnotu jasu překračuje. První oblast se označuje 0 a druhá oblast se označuje 1. Rozdělení je velmi dobře patrné na histogramu viz. obrázek 24. Obraz po prahování má pouze dvě hod- noty jasu (1bitová barevná hloubka), proto se takovým to obrázkům říká binární obrázky.

Obrázek 23 ukazuje příklad prahování.

Obrázek 23: Příklad prahování

Obrázek 24: Prahování na histogramu

Obrázek 25: Popis histogramu pro prahování

Velmi užitečnou funkcí je automatické prahování, které umožňuje prahovací hodnotu posouvat v závislost na rozložení intenzity v obraze.V IMAQ Vision je implementováno několik metod, pro automatické prahování. Všechny metody využívají histogram, pro od- vození prahovací hodnoty. Obrázek 25 zobrazuje histogram, kde:

(42)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 30

i – reprezentuje úroveň šedé

k – reprezentuje úroveň prahovací hodnoty

h(i) – reprezentuje počet pixelů pro jednotlivé úrovně šedé N – počet všech úrovní šedé (8bitový obraz ⇒ 256 úrovní) n – celkový počet pixelů v obrázku

Metody pro automatické prahování v IMAQ Vision:

Clustering – prahovací hodnota k je dána podmínkou µ1+ µ2

2 = k (32)

Kde µ1 jsou všechny pixely ležící mezi 0 a k a µ2 jsou všechny hodnoty, které leží mezik + 1 a 255.

Interclass Variance – Tato metoda je velmi podobná metodě Clustering

Metric – prahovací hodnota je hodnota pixelu, pro který je následující výraz minimální:

k

X

i=0

h(i)|(i − µ1)| +

N −1

X

i=k+1

h(i)|i − µ2| (33)

Kde µ1 jsou všechny pixely ležící mezi 0 a k a µ2 jsou všechny hodnoty, které leží mezi k + 1 a 255.

Moments – k-tý moment m obrazu je počítán jako mk = 1

n

N −1

X

i=0

ik· h(i) (34)

Prahování je velmi důležitou funkcí pro binární morphing. Při prahování barevných obrázků se prahuje každá vrstva obrázku zvlášť.

(43)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 31

5.4 Hranová detekce

Hranová detekce slouží k nalezení hran objektů, ze kterých se určují rozměry, plocha a další parametry objektu. Hranovou detekci lze rozdělit na detekci všech hran v obrazu, někdy se tato detekce označuje za filtraci, a detekci v definovaném řezu.

5.4.1 Detekce všech hran v obraze

0 1 1

−1 0 1

−1 −1 0

(35)

0 1 1

−1 0 1

−1 −1 0

(36)

Obrázek 26: Nalezení hran různými konvolučními jádry

Zde se využívá konvoluce obrazu s konvolučním jádrem. Konvoluční jádro udává vlast- nosti hranového detektoru, proto různé hodnoty konvolučního jádra hledají různé hrany jak ukazuje příklad.

Těchto hranových detektorů se nejvíce využívá při segmentaci obrazu, kde není kritickou hodnotou strojový čas, protože konvoluce má složitost N2.

5.4.2 Detekce hran v definovaném řezu

V tomto případě je detekce jednodušší a rychlejší, protože celý problém díky zvolenému řezu přechází z 2D do 1D prostoru. Na obrázku 27 je schématicky znázorněn průběh intenzity, která byla vybrána řezem. Výpočet hrany je možný několika metodami, ale nejjednodušší metodou je diference.

∆f (n)

∆n = f (ni) − f (ni+1) (37)

(44)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 32

1 – Pixel

2 – Úroveň šedé barvy 3 – Šířka

4 – Šířka přechodu 5 – Kontrast

6 – Nalezená hrana

Obrázek 27: Znázornění hledání hrany v řezu

Z diference se hledá maximum nebo se takto vzniklé pole prahuje určitou prahovací hod- notou, která vybere jednotlivé hrany.

IMAQ Vision

Obrázek 28: Funkce IMAQ Vision – Hranová detekce

5.5 Hledání vzoru

Anglicky se tato metoda označuje Pattern Matching a je použitelná tam, kde chceme srovnat část obrazu s předlohou. Asi nejlépe to vystihuje obrázek 29 na kterém je ukázáno hledání SMD elektronické součástky na desce plošného spoje. V IMAQ Vision je definováno několik metod hledání vzoru, ale asi nejznámější, i když ne nejlepší, je metoda dvojrozměrné korelace, která je definovaná jako:

Ci,j =

L−1

X

x=0 K−1

X

y=0

w(x, y)f (x + i, y + j) (38)

kde

i = 0, 1, . . . , M − 1 (39)

(45)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 33

Obrázek 29: Ukázka metody hledání vzoru

j = 0, 1, . . . , N − 1 (40)

Obrázek 30 názorně popisuje význam jednotlivých promněnných ve vztahu 38. w(x, y) je

Obrázek 30: Korelace

hledaný vzor a f (x, y) je obraz, ve kterém se hledá vzor.

IMAQ Vision

Obrázek 31: Funkce IMAQ Vision – Hledání vzoru

(46)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 34

5.6 Kalibrace obrazu

Obrázek 32: Zkreslení obrazu

Kalibrací se přiřazuje vzdálenost v obraze, zároveň se odstraňují nežádoucí jevy např.

perspektiva, soudečkové zkreslení obrazu, natočení obrazu. Jinými slovy kalibrací se při- řazuje jaká vzdálenost ve snímané scéně odpovídá jednomu pixelu. Obrázek 32 ukazuje zkreslení obrazu, které je nutné pro měření eliminovat.

Problematika kalibrace (někdy se také označuje jako registrace) obrazu je velice obsáhlá a její popis je nad rámec mé diplomové práce, proto zde jen nastíním problematiku.

Při kalibraci je předem známá vzdálenost mezi tečkami a jejich rozměr. Tečky jsou při kalibraci umístěny na projekční ploše, kterou snímá kamera. Obraz s tečkami se díky zna- lostem parametrů dané kalibrační plochy narovná a upraví. Informace o postupu „opravyÿ obrázku se uloží do obrázku, který se pak využívá při úpravě obrázku bez kalibrační mřížky (snímaného za provozu stroje).

IMAQ Vision

Obrázek 33: Funkce IMAQ Vision – Kalibrace obrazu

(47)

5 ZÁKLADNÍ ALGORITMY PRO ZPRACOVÁNÍ OBRAZU 35

5.7 Vybrané funkce IMAQ Vision

IMAQ Vision

Obrázek 34: Funkce IMAQ Vision – Overlay

Obrázek 34 ukazuje funkce, které slouží k nedestruktivnímu překrytí obrazu obrazci a nápisy. Nedestruktivní zde znamená, že obrazec není vkreslen do obrazu, ale je vytvořena jakoby vrstva nad obrazem která překrývá obraz. Výhodou je, že kdykoliv v průběhu měření z takto překresleného obrazu můžeme dostat neporušený obraz. Další obrázek 35 IMAQ Vision

Obrázek 35: Funkce IMAQ Vision – Morphology

ukazuje funkce pro binární morphing. Tyto funkce dovolují dělat dilataci a erozi obrazu, počítat částice v obrazu atd.

Pro zobrazení obrazu je v IMAQ Vision definováno několik druhů funkcí, ale tou nej- jednodušší cestou jak zobrazit obrázek je využití některých funkcí z palety funkcí, kterou zobrazuje obrázek 36.

IMAQ Vision

Obrázek 36: Funkce IMAQ Vision – External Display

(48)

6 NÁVRH APLIKACE S PRAKTICKOU REALIZACÍ 36

6 Návrh aplikace s praktickou realizací

6.1 Úvod do problematiky

Firma ELCOM, a.s, Divize Virtuální Instrumentace (dále jen ELCOM) dostala zakázku na realizaci zařízení na kontrolu a manuální seřizování barvy rozhraní ED modulů. Rea- lizaci strojní části s rozvaděčem a vzduchotechnikou zadala firmě TEMEX s.r.o. ELCOM realizoval kamerový systém s aplikací pro řízení zařízení (stroje). Právě realizaci aplikace jsem si vybral pro mou praktickou část diplomové práce.

6.1.1 Co se vlastně seřizuje?

Obrázek 37: ED Modul

Jsou to ED moduly, které firma Autopal vyrábí. ED modulem se rozumí žárovka nebo výbojka spolu s čočkou a zrcadlem, které usměrňuje tok světla. Na obrázku 37 je vidět jak takovýto modul vypadá.

Mezi žárovkou/výbojkou se nachází clonka, která vytváří rozhraní světla a tmy. Toto rozhraní je čočkou zaostřeno v 10 m. Vlivem ohybu světla na clonce a chromatické aberaci čočky není toto rozhraní jen přechod z bíle do černé barvy, ale vzniká barevný přechod, který je potřeba seřídit na danou barvu deformací clonky. Deformací clonky se také na- stavuje ostrost rozhraní. Na obrázku 38 jsou vidět barevné zmetky, které nejsou žádoucí.

Obrázek 38: Modrý a červený zmetek

(49)

6 NÁVRH APLIKACE S PRAKTICKOU REALIZACÍ 37

6.1.2 Typy ED modulů

Obrázek 39: Typy rozhraní

ED modulů je celá řada a aplikace se jednotlivé moduly „učíÿ. Moduly se liší jednak žárovkami či výbojkami, které mají různou barvu světla tak i clonkami, které vytvářejí vlastní rozhraní. Obrázek 39 ukazuje jednotlivé typy geometrického rozhraní. U ED-modulů pro levosměrný provoz jsou tvary rozhraní vertikálně symetrické kolem kolena.

6.2 Popis stroje

Stroj se skládá z projekční komory, která je posazena na kovové desce. V projekční ko- moře je oboustraná projekční plocha (jedna strana slouží ke kalibraci kamery) na kterou se promítá obraz, který je snímán kamerou umístěnou také v projekční komoře. Dále je v pro- jekční komoře umístěno zrcadlo, které slouží k lomu světla, aby zařízení bylo kompaktnější.

Před zrcadlem je umístěna čočka, která zkracuje projekční vzdálenost z 10 m na 1,565 m.

Pod kovovou deskou se nachází rozvaděč, ve kterém je provedeno elektrické jištění stroje a také je vněm umístěn zdroj pro napájení ED modulu. Vedle rozvaděče je umístěn počí- tač, který je volně uložen v prostoru pod kovovou deskou a zajištěn proti scizení visacím zámkem. Dále je pod deskou umístěna vzduchotechnika, která slouží k vysunutí vidlice a razítka.

Zepředu je na projekční komoře umístěn LCD panel, který slouží k zobrazování in- formací obsluze stroje. Na kovové desce před projekční komorou je umístěn odnímatelný přípravek pro ED moduly, který je vybaven pákou, kterou se clonka zpětně deformuje. Za přípravkem je výsuvné razítko s výsuvnou vidlicí, na které je umístěna závitová tyč. Po závitové tyči se vlivem otáčení kolečka pohybují seřizovací hroty, které provádějí vlastní de- formaci clonky. Celý výsuvný mechanizmus je opatřen krytem, který pro správnou činnost stroje musí být nasazen.

Vlevo pod kovovou deskou jsou umístěny ventily vzduchotechniky spolu s manometrem.

Fotografie stroje můžete vidět v přiloženém manuálu nebo na přiloženém CD.

(50)

6 NÁVRH APLIKACE S PRAKTICKOU REALIZACÍ 38

6.3 Ovládání stroje

Pro zapnutí stroje slouží otočný vypínač umístěný ze předu na rozvaděči. Po zapnutí by se měl automaticky zapnout počítač.

K ovládání stroje slouží tlačítka, která jsou umístěna na pravé straně kovové desky.

Stroj má celkem tři ovládací tlačítka.

Start – má funkci v závislosti na aplikaci. Funkce tohoto tlačítka bude ještě popsána dále.

Ovládací napětí – slouží k aktivaci stroje. Stroj je po startu neaktivní, do doby než se stiskne toto tlačítko. Stav ovládacího napětí je indikováno podsvětlením tohoto tlačítka.

TOTAL STOP – slouží k okamžitému zastavení stroje. Stisk tlačítka vypne ovládací napětí. Do doby než je tlačítko odaretováno je stroj zastaven. Počítač běží a na obrazovce zobrazuje pokyn obsluze pro odaretování tlačítka. Po odaretování tohoto tlačítka je nutné stisknout tlačítko Ovládací napětí

Dalšími ovládacími prvky jsou klávesnice s myší. Ty jsou uloženy v zásuvné přihrádce pod kovovou deskou. Klávesnice s myší slouží pouze k parametrizaci modulů a k údržbě prováděné firmou ELCOM.

Posledním ovládacím prvkem je vzduchový ventil, který je umístěn na levé straně pod kovovou deskou. Vzduchový ventil slouží k uzavření přívodu stlačeného vzduchu.

6.4 Popis aplikace ED-H7

Aplikace se skládá ze dvou částí.

Provozní část aplikace slouží k seřizování. Zobrazuje výsledky testů, aktuální snímek, výpisy programu a stav stroje. Tato část aplikace vytváří soubory výsledků s výsled- nými snímky po seřízení. Obrázek 40 ukazuje rozložení informačních prvků na čelním panelu. Aplikaci lze ovládat modrými tlačítky, které jsou umístěny na spodním okraji obrazovky. Význam jednotlivých tlačítek:

• Nastavit modul – Zobrazí dialog pro výběr modulu. Tato operace je autorizo- vaná, to znamená, že obsluha bude vyzvána, aby zadala heslo.

• Parametrizace – Vyvolá druhou část aplikace. Nutná autorizace.

• Stop – Pokud probíhá měřící cyklu, stiskem tohoto tlačítka se přeruší.

References

Related documents

[r]

{ Popisy obrazu, zvýraznění částí, linie, tvary bez změny původního obrazu. { Ovlivňuje

Fuzzy zpracování obrazu má tři hlavní fáze: kódování obrazových dat (fuzzifikace obrazu), modifikace hodnot příslušnosti do fuzzy mnoţiny (systém fuzzy rozpoznávání

na plochu blokového diagramu vložíme do smyčky While funkci konvoluce, na její vstup X připojíme matici s obrazovou funkcí (obsahuje hodnoty jasu vstupního obrazu v rozlišení 0

Navrhněte a realizujte program pro programovatelný automat Tecomat TC700, který bude obsluhovat semafory na modelu křižovatky virtuální úlohy Křižovatka..

Těchto dvou senzoru se využívá při vypínání pásu, aby prudké zastavení nepoškodilo desku.. První senzor zachytí desku a tím

Navrhněte a realizujte program pro programovatelný automat Tecomat TC700, který bude obsluhovat linku skládání skel do palet modelovanou virtuální úlohou Paletizér 2.

Navrhněte a realizujte program pro programovatelný automat tecomat TC700, který bude obsluhovat linku skládání skel do palet modelovanou virtuální úlohou Nino..