Sunteți pe pagina 1din 17

Tehnici de achiziie i procesare

numeric(digital) a imaginilor n
LabView

Sl. dr. ing. Petrache Silviu


Cuprins:

1. LabView notiuni generale


2. Prezentare modul Vision Assistent
3. Modalitate de procesare numeric a imaginilor
exemplificare
4. Exemplu de utilizare a procesrii imaginilor preluate
prin intermediul unei camerei web.
5. Transferul imaginilor prin reea comparaii i valori
experimentale
LABVIEW

LabVIEW (Laboratory Virtual


Instrument Engineering Workbench) este un
mediu de dezvoltare bazat pe programare
grafic. Fisierele utilizate au extensia .vi
(Virtual Instruments).
LabVIEW a fost scris special pentru
construirea de echipamente de laborator
virtuale; de aceea fiecare program LabVIEW e
compus din dou straturi: codul surs sub
form de elemente conectate ntre ele i partea
din fa a aparatului, ce asigur interfaa cu
utilizatorul prin diferite butoane i ecrane,
mprumutate din mediul aparatelor electronice.
Caracteristicile mediului LabView:
este unul grafic mediu de programare ce permite dezvoltarea,
modificarea i ntreinerea facil a aplicaiilor create.
dispune de o gam divers de funcii ce permite
programatorului s realizeze aplicaii complexe fr a necesita
cunotine amnunite asupra tuturor proceselor necesare a fi
executate pentru obinerea rezultatului final.
faciliteaz nu doar realizarea funciilor din cadrul aplicaiilor, ci
i interfaa pentru utilizator care este la fel de uor de creat prin
utilizarea unor elemente deja existente.
are integrat un web server. Printr-o simpl apsare a unui
buton din orice program LabVIEW, web serverul este pornit i
exist posibilitatea conectrii la el cu un browser.
Prezentare modul Vision Assistant
pentru crearea facila de aplicaii se poate utiliza un utilitar
software adiacent, produs tot de firma National Instruments,
denumit Vision Assistant ce face parte dintr-un modul dedicat
procesrii imaginilor intitulat Vision Development Module.
modulul
n urma creierii i testrii unor aplicaii, ofer posibilitatea
generrii de cod pentru mai multe limbaje de programare, cum
ar fi NI LabVIEW, C++ i Visual Basic. Acest modul conine
biblioteci de programare ce includ funcii prin care se pot
mbunti imagini, se pot face verificri de prezen, localiza
unele caracteristici, identifica anumite obiecte sau msura piese.
pentru a extinde posibilitile de analiz a software-ului,
utilitarul Vision Assistant, ofer o posibilitatea de creare facil a
aplicaiilor prin conversia funciilor nglobate sub form de script
realizat n Vision Builder n cod surs compatibil cu diverse
medii de programare, n cazul de fata - LabVIEW.
Prezentare modul Vision Assistant

odat creat succesiunea de funcii dorit, sub form de script,


Vision Assistant are capacitatea de a simula o inspectare offline.
Utilizatorul poate ncrca n aplicaia realizat de el imagini de tip
BMP, JPEG, PNG sau TIF pentru a realiza o simulare. De
asemenea, pot fi ncrcate, pe rnd, o serie de fiiere pentru ca
aplicaia s fie testat pe mai multe imagini ce se ncarc automat
simulnd comportamentul unei camere de luat vederi.

pe tot parcursul creierii scriptului, n procesul de configurare al


fiecrei funcii utilizate, este vizibil o fereastr de afiare
interactiv n care pot fi vizualizate regiuni de interes, texte, grafice,
date msurate i inspectate, etc. Astfel, imaginile achiziionate pot fi
supuse diverselor modalitati de procesare si filtrare, eliminndu-se
astfel zgomotele aprute la achiziie sau din transmisie, se pot
extrage anumite palete de culori si realiza pe loc prelucrarea
acestora.
Modalitate de procesare numeric a imaginilor exemplificare
Poziia fiecrei funcii utilizate este
evideniata n partea inferioar a fiecrei
figuri, acolo unde este prezentat
nlnuirea tuturor funciilor coninute de
script.

Primele trei funcii ale scriptului se


ocup de stocarea celor dou imagini, n
prealabil preluate succesiv din aceeai
zon n care se deplasa minirobotul.
Prima imagine este preluat ntr-o zon
buffer cu ajutorul funciei Image Buffer,
iar apoi este introdus i cea de-a doua
imagine prin intermediul funciei Get
Image.
La pasul urmtor, pentru cele dou imagini de dimensiuni egale (m x n) privite
ca matrice de puncte A1m,n, respectiv A2m,n, se afl eventualele modificri
de culoare pentru fiecare punct (pixel) n parte, prin diferen conform
formulei:
2 1 2 1
D m, n = A m , n A m , n = a i, j a i, j
i = 0Km 1; j= 0Kn 1
Modalitate de procesare numeric a imaginilor exemplificare

Va rezulta imagine sub forma matricei Dm,n ce va conine diferenele


ntre cele dou imagini: ultima, sub forma matricei A2m,n i prima, coninut n
buffer, ca matrice A1m,n. Utilizarea unui buffer este necesar ntruct imaginile,
n versiunea final, vor proveni de la aceeai surs camera web, iar dac este
nevoie de 2 imagini cel puin una trebuie stocat ntr-o zon temporar ntruct
la fiecare preluare a unei noi imagini, cea anterioar se pierde.
Fiecare punct al matricei diferen Dm,n este apoi comparat cu o
valoare prag in prealabil stabilit, n funcie de care se ia decizia dac punctul e
considerat ca fiind diferit de cel anterior sau nu. Acest filtru este necesar ntruct
pot apare mici diferene datorit iluminrii, particulelor de praf, zgomotului la
achiziie etc., care nu trebuie luate n calcul i trebuie eliminate.

0, pentru d < valoare prag


i, j
D'm, n =
1, pentru di, j valoare prag

Modalitate de procesare numeric a imaginilor exemplificare
Funcia ce realizeaz acest lucru se numete Color Threshold iar la aplicarea ei se ine
cont de faptul ca fiecare punct este de fapt o combinaie de 3 octei cte unul pentru
fiecare culoare standard RGB. Astfel pragul poate fi acelai pentru toate cele trei culori sau
poate fi stabilit separat pentru fiecare culoare n parte. n urma aplicrii acestei funcii
imaginea va conine doar dou culori negru pentru valorile de 0 ce reprezint punctele
ce nu a trecut pragul, deci nu au avut modificri semnificative, i rou pentru valorile de 1
ale matricei
Chiar i n urma aplicrii acestui filtru exist posibilitatea ca anumite puncte s depeasc
nivelul de prag i s apar ca modificri. innd cont de faptul c n situaia cnd
minirobotul se deplaseaz, el determin zone cu diferene semnificative, n continuare s-a
aplicat o funcie de nlturare a particulelor izolate avnd suprafee mici. Acest lucru este
realizat cu funcia Advaced Morphology varianta Remove particle. n urma aplicrii
acestei funcii rezult o nou matrice D"m,n ce va conine doar zonele cu diferenele
importante rezultate din deplasarea minirobotului
Ultima operaie const n stabilirea centrului de greutate al particulelor din
imaginea final corespunztoare zonelor cu diferene semnificative. Acest
lucru este necesar pentru stabilirea direciei de deplasare a minirobotului i
implicit a direciei n care trebuie micat camera pentru a-l urmri, cutnd
pstrarea acestuia n centrul imaginii. Formulele ce stau la baza acestui calcul
sunt:

n 1m 1 n 1m 1
j d"i, j i d"i, j
i = 0 j=0 i = 0 j= 0
x C = n 1m 1 y C = n 1m 1
d"i, j d"i, j
i = 0 j= 0 i = 0 j= 0

n care i i j sunt coordonatele punctului a crui valoare este din ultima matrice, D"m,n,
rezultat n urma procesrii celor dou imagini iniiale.
Pentru realizarea acestui calcul este utilizat funcia Centroid care, totodat, pune n
eviden rezultatul printr-o iconi verde avnd ca centru coordonatele aflate (fig. 7.17).
Din acest script a fost generat codul LabVIEW ce realizeaz aceleai funcii, pe baza cruia
a fost dezvoltat ntreaga aplicaie de urmrire video automat a minirobotului.
Exemplu de utilizare a procesrii imaginilor preluate prin intermediul unei camerei web

Rolul acestei aplicaii dezvoltate n LabVIEW este de a prelua imagini ale mediului real n
care se gsete i evolueaz un element in miscare (minirobotul) si a le transmite la distan.
O particularitate a programului ndeplinirea acestui scop a necesitat algoritmul elaborat i
prezentat mai sus, prin intermediul cruia se comand poziia camerei de luat vederi astfel nct
aceasta s pstreze n permanen minirobotul n cmpul imagine.

Panoul de comand al aplicaiei de urmrire video a


minirobotului
Exemplu de utilizare a procesrii imaginilor preluate prin intermediul unei camerei web

Diagrama bloc a aplicaiei de urmrire video a unui minirobot


Transferul imaginilor prin reea comparaii i valori experimentale
Identificarea modalitii optime de transfer a imaginilor ntre aplicaii, prin reea.
Pentru transferul imaginilor, captate de la camera video web conectat pe USB, ntre aplicaii, prin reea, s-au
studiat cele dou modaliti posibil de aplicat n cadrul mediului LabVIEW.
prima modalitate const n transmiterea imaginilor ca flux de date, necomprimat i afiarea acestora n mod
direct,
iar cea de-a doua modalitate este cea n care imaginile sunt comprimate nainte de a fi transmise prin reea, iar
la client este necesar scrierea lor sub form de fiier nainte de a fi afiate.
Ca orice modalitate de transfer prin reea, cele dou variante au necesitat cte o pereche de aplicaii server
client compatibile.

Configuraia comunicaiei pentru transmiterea imaginilor captate de camera de urmrire


Transferul imaginilor prin reea comparaii i valori experimentale

A doua variant de transfer a imaginilor, cea sub form comprimat, a necesitat o aplicaie de tip server ce
preia o imagine stocat n prealabil n formatul comprimat dorit, de tip JPEG, i o transmite , prin reea, aplicaiei
client, similar unei operaii n care imaginea preluat de la camera video este comprimat nainte de a fi transmis
prin reea.

Aplicaia client de recepiei i afiare a imaginilor n format necomprimat

Aplicaia client de recepiei i afiare a imaginilor n format necomprimat


Transferul imaginilor prin reea comparaii i valori experimentale
Varianta de transfer a imaginilor ca flux de date necomprimat a necesitat, pentru testare, o aplicaie de tip
server ce preia o imagine stocat n formatul comprimat de tip JPEG, i o decomprim astfel nct imaginea
transmis, prin reea, aplicaiei client s fie similar celei preluat i transmis direct de la camera video.

Aplicaia client de recepiei i afiare a imaginilor n format comprimat

Aplicaia client de recepiei i afiare a imaginilor n format comprimat


Transferul imaginilor prin reea comparaii i valori experimentale

Pentru exemplificari experimentale


s-au utilizat 4 imagini de dimensiuni
diferite: 62x49, 320x240, 640x480 i
1024x768 pixeli. De asemenea
aplicaiile au fost testate pe dou
calculatoare utiliznd acelai software,
dar avnd configuraii hardware
diferite:
calculator1 - procesor 2GHz cu
62x49 pixeli 320x240 pixeli

varianta2 13.2 varianta2 20.4

512MB memorie RAM de tip DDR1 i

calc2

calc2
plac video integrat cu 128MB; varianta1 6.4 varianta1 47.6

calculator2 - procesor Dual Core 2 calc1 varianta2 68.6 varianta2 80.8

calc1
Duo 2.67GHz cu 2GB memorie RAM varianta1 58.2 varianta1 253

de tip DDR2 i plac video dedicat 0 10 20 30 40 50 60 70 80 ms 0 50 100 150 200 250 300 ms

320 MB.
Astfel, ntruct imaginile captate
640x480 pixeli 1024x768 pixeli

varianta2 27.4 varianta2 55.8


de camera video web USB au
calc2

calc2
dimensiunile de 320x240 sau 640x480, varianta1 257.6 varianta1 1358.8

ca modalitate de transfer s-a optat varianta2 139.4 varianta2 272.8


calc1

calc1
pentru varianta a doua, cea a de
varianta1 2325.4 varianta1 9002.6
transmitere a imaginii n format
0 500 1000 1500 2000 2500 ms 0 2000 4000 6000 8000 ms
comprimat de tip JPEG,
Graficele valorilor medii ai timpilor nregistrai pentru recepia i afiarea imaginilor

S-ar putea să vă placă și