El processament digital d'imatges és l'ús d'un computador digital per processar imatges mitjançant un algorisme. Al ser una subcategoria del processament digital de senyals, el processament digital d'imatges té molts avantatges en comparació amb el processament analògic d'imatges. Això permet tenir un rang més ample d'algorismes que poden ser aplicats a les dades d'entrada i es poden evitar problemes com la creació de soroll i distorsió durant aquest processament digital. Des que les imatges poden ser definides en dos dimensions (encara que poden ser més), el processament digital d'imatges pot ser modelats en la forma de sistemes multidimensionals. La generació i desenvolupament del processament digital d'imatges estan afectats principalment per tres factors: el primer, el desenvolupament de computadors; el segon, el desenvolupament de les matemàtiques (especialment en la creació i millora de la teoria de matemàtica discreta); i el tercer, la demanda per un ampli rang d'aplicacions en la ciència medioambiental, de l'agricultura, militar, industrial i mèdica ha augmentat.
La transformació digital d'imatges permet millorar la qualitat o resaltar detalls que no es veuen a simple vista amb claredat. Quan es transforma una imatge, s'obté una imatge B a partir d'una imatge A, encara que poden ser més d'una imatge, i la forma que es modifica A per convertir-se en B determina el tipus de transformació.[1]
En el cas de les transformacions puntuals, cada píxel de la imatge transformada s'obtenen a partir del píxel de la imatge original amb les mateixes coordenades, sense tenir en compte els píxels veïns d'aquest. És a dir, aquestes transformacions es realitzen punt a punt de la imatge.
Existeixen diversos tipus de transformacions puntuals:
Aquest tipus de transformacions treballen només amb una imatge original, on cada píxel es considera un element individual, sense mirar els veïns. S'aplica una funció que depèn exclusivament del valor del píxel.[2]
La transformació puntual transforma la imatge en funció del nivell de grisos dels seus píxels.
La umbralització, també conegut com binarització o threshold, consisteix en convertir la imatge digital en una imatge en blanc i negre, de tal manera que es preservin les propietats escencials de la imatge.
Existeixen dos tipus de umbralitzacions:
La LUT defineix un vector, el qual els seus valors indiquen la sortida esperada per cada nivell d'entrada. Els valors dels píxels de la imatge original indexen els nous valors. És a dir, els valors dels píxels de la imatge original corresponen a un índex d'un vector, de manera que els valors dels píxels de la imatge transformada seran els valors d'aquests índexs.
Es transforma una imatge I amb un rang de valors determinat en una nova imatge I' = g(I) amb un rang, on g és una funció lineal.
Hi ha dos transformacions lineals:
Les transformacions lineals modifiquen el rang de la imatge. En canvi, les transformacions no lineals modifiquen els valors dins del rang de la imatge.
Existeixen dos tipus de transformacions no lineals:
Es realitza un tipus d'operació lògica entre els bits de cada píxel i els d'una certa màscara binària. Els diferents tipus d'operacions lògiques que es troben són: AND, OR, NOT, XOR. Per exemple, l'AND lògic entre una imatge i la constant 11110000 realitza una recuantització uniforme d'una imatge de 256 nivells a únicament 16 nivells.[2]
D'altres operacions lògiques amb bits són els desplaçaments a l'esquerra i a la dreta de bits, que és equivalent al producte i divisió, respectivament, pel producte de 2.
L'equalització persegueix que tots els nivells de grisos tinguin la mateixa freqüència d'aparició. La manera d'aconseguir-ho és amb una LUT que ajusti l'histograma acumulat de la imatge original al rang de nivells que hi ha. La transformació és: .[2]
Existeixen variacions de l'equalització:
En les transformades puntuals es realitza una transformació píxel a píxel d'una imatge. Aleshores, en el cas de les transformacions aritmètiques, la imatge transformada és el resultat d'aplicar, punt a punt, un operador, que pot ser una operació lògica o aritmètica, entre dues imatges.
,
on ○ és qualsevol operació lògica o aritmètica, com pot ser:
Els filtres digitals són utilitzats per:
Per tant, els filtres són operacions que s'apliquen als píxels d'una imatge digital per tal d'optimitzar-la, emfatitzar certa informació o aconseguir un efecte especial.
Els filtres digitals poden ser classificats en:
Els filtres en el domini de l'espai són aquells filtres que treballen directament sobre els píxels d'una imatge. Les operacions dels filtres espacials es definieixen en un entorn dels píxels veïns del punt a transformar. És a dir, per aplicar una operació sobre un punt (x,y), s'ha de tenir en compte l'entorn d'aquest, que seran els veïns.[4]
Els filtres en el domini espacial es poden classificar en:
Els filtres lineals consisteixen en passar per cada un dels píxels d'una imatge amb una màscara i per cada un dels píxels es realitza una suma ponderada dels valors dels píxels veïns pels pesos de la màscara. L'operació que es realitza donada un a imatge f(x,y) i una màscara w(x,y) és la següent:
El procés de passar per cada un dels píxels i realitzar aquestes sumes ponderades rep el nom de convolució.
Existeixen diferents filtres lineals, com poden ser:
Filtres lineals | Utilitat | Implementació Matlab | Exemple |
---|---|---|---|
Suavitzat | Redueix les variacions locals d'intensitat, encara que es pot adquirir soroll. | h = ones(2*M+1, 2*N+1)/((2*M+1, 2*N+1));
im2 = imfilter(im, h, 'conv'); %M i N són paràmetres que són assignats per l'usuari. %im és la imatge original. |
|
Vores | Senyala les variacions locals d'intesitat, quan aquestes són deguts als contorns dels objectes. | h = 0.5*[1 0 -1];
h = h'; im2 = conv2(double(im), h); %im és la imatge original. |
|
Filtre gaussià | S'utilitza per emborronar imatges i eliminar el soroll. | im2 = imgaussfilt(im);
%im és la imatge original. |
Els filtres no lineals no poden ser expressats amb convolucions ni amb manipulacions del contingut freqüencial, és a dir, els valors d'entrada produeixen valors de sortida que no són translacions lineals.
Els diferents filtres no lineals que hi ha són, entre altres:
En el cas de filtres en el domini de freqüències, el processament de la imatge es fa a partir d'una transformada de la imatge, el qual la més utilitzada és la transformada de Fourier. Un cop s'ha tractat aquesta imatge, es realitza la transformada inversa per tal d'obtenir els resultats.[5]
Els filtres en el domini de la freqüència s'utilitzen principalment per eliminar altes o baixes freqüències d'una imatge, de tal manera que es suavitzaria la imatges o realçar o detectar vores.
Els pasos que es segueixen per tal d'eliminar aquestes freqüències són:
Existeixen diversos tipus de filtres en el domini de la freqüència, que el que es fa és deixar passar més o menys components freqüencials. Aleshores, els diferents filtres són:
La morfologia matemàtica es va establir en els anys 70 a partir de Jean Serra i Georges Mathéron a partir d'estudis d'imatges de microscopia de materials, petrografia, entre altres. En si mateixa, és un marc de processat de senyal i imatges autocontingut.
Es poden distingir dos tipus de morfologia matemàtica, els que s'apliquen a imatges binàries (aquelles imatges, les quals els píxels tenen valors 0 o 1, és a dir, blanc o negre) i els que s'apliquen a imatges en nivell de grisos.
Aquestes imatges seran manipulades per uns conjunts anomenats elements estructurants. Aquests elements estructurants sean l'equivalent de les finestres lliscants, filtres, màscares... El centre de l'element estructural és el valor del punt que es vol modificar.[6]
Respecte la morfologia matemàtica binària, les diferents operacions que hi ha són:
Aquestes operacions poden ser utilitzades per la suavització de la forma, filtrat del soroll, segmentació de microestructures, entre altres.
Respecte la morfologia matemàtica en nivell de grisos, es defineix l'element estructurant i si es vol fer una dilatació s'hauria de quedar amb el valor màxim d'aquest element estructurant. En canvi, si es vol fer una erosió, es queda amb el valor mínim.
A més, també es pot fer el gradient en el nivell de grisos, per tal d'obtenir els contorns. Aquesta operació es realitza amb la resta entre la dilatació i l'erosió, encara que també es pot obtenir amb la resta entre la imatge en escala de grisos i l'erosió o amb la resta entre la dilatació i la imatge en escala de grisos. Les operacions que es poden realitzar són:
L'opening residue és una altra operació que es pot realitzar amb una imatge en escala de grisos. L'operació que es realitza és una resta entre la imatges en escala de grisos i el opening. D'aquesta manera, s'obté les part de dalt de les funcions, és a dir, es pot detectar crestes i pics, per exemple, d'un relleu. L'operació és:
Les transformacions geomètriques modifiquen la relació espacial entre píxels.[7] En terme del processament digital d'imatges, una transformació geomètrica consisteix en dos passos:
Aquest tipus de transformacions serveixen per:
Les principals transformacions que hi ha són:
Transformació | Matriu | Exemple |
---|---|---|
Translació | Aquesta transformació no requereix de matriu, ja que es realitza un desplaçament de la imatge | |
Rotació | , on θ és l'angle amb què es vol rodar la imatge | |
Escalat uniforme o isotròpic | , s és el valor per ampliar o reduir la imatge | |
Escalat no uniforme o anisotròpic | , on és un valor per modificar la coordenada x del píxel i és un valor diferent per modificar la coordenada y | |
Reflexió | , per a realitzar una reflexió horitzontal
, per a realitzar una reflexió vertical Com es pot veure, aquests casos són particulars de l'escalat no uniforme. |
|
Inclinació | , on a és un valor introduït per indicar la inclinació |
Existeixen més transformacions, encara que les altres és una combinació de les ja mencionades. Com pot ser les transformacions afins, que són les més utilitzades per la seva representació i maneig matricial, que són una combinació de translació, rotació, escalat uniforme, escalat no uniforme i inclinació.
Una transformació afí és aquella en la que les coordenades del punt de la imatge transformada són expressades linealment en termes de les del punt original. És a dir, la transformació ve donada per:
que la seva representació matricial és:
Aquesta transformació conserva les línies rectes i paral·leles i els ratios de longituds al llarg de les rectes.