SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Universitatea „Alexandru Ioan Cuza” Iași
                         Facultatea de Informatică




Îmbunătăţirea imaginilor în domeniul spaţial, accentuând filtrele de
 netezire şi câteva implementări folosind Adobe® Pixel BlenderTM




                                                              Proiect de cercetare




                                                      Realizator: Constantin Stan
                                                 Master Optimizare Computațională
                                                                           Anul I



                                                 Coordonator: Lect. Dr. Anca Ignat




                                Ianuarie, 2009
Ianuarie, 2009




                                                                      Cuprins




Introducere ................................................................................................................................................ 3 


Principii de bază ale filtrării spaţiale......................................................................................................... 7 


Filtrele spaţiale de netezire ..................................................................................................................... 11 


   Filtre lineare de netezire ...................................................................................................................... 11 


   Filtre de ordonare statistică ................................................................................................................. 12 


Filtrele spaţiale de accentuare a detaliilor ............................................................................................... 13 


Ce este Pixel Blender? ............................................................................................................................ 14 


Concluzii și perspective .......................................................................................................................... 15 


Referințe .................................................................................................................................................. 16 




                                                                              2
Îmbunătăţirea imaginilor în domeniul spaţial

    Îmbunătăţirea imaginilor în domeniul spaţial, accentuând filtrele de
      netezire şi câteva implementări folosind Adobe® Pixel BlenderTM


        Introducere
        Principalul obiectiv al îmbunătățirii este să proceseze o imagine, astfel încât rezultatul să devină
mai potrivit decât originalul pentru o anumită aplicaţie. Cuvântul specific este foarte important, pentru
că stabileşte de la bun început faptul că tehnicile discutate sunt într-o mare măsură orientate spre
problemă. În acest fel, de exemplu, este posibil ca o metodă care este utilă pentru îmbunătăţirea
imaginilor realizate cu ajutorul razelor X să nu fie cea mai bună abordare pentru îmbunătăţirea
imaginilor de pe Marte transmise de sondele spaţiale.


        Cu toate acestea, indiferent de metoda folosită, intensificarea imaginilor este unul dintre
domeniile cele mai interesante şi mai atrăgătoare din punct de vedere vizual din cadrul procesării de
imagini.


        Abordările îmbunătățirii de imagini se împart în două mari categorii: metodele domeniului
spaţial şi metodele domeniului frecvenţei.


        Sintagma domeniul spaţial se referă la planul imaginii, iar abordările din această categorie se
bazează pe manipularea directă a pixelilor dintr-o imagine. Tehnicile de procesare legate de domeniul
frecvenţei au la bază modificarea transformării Fourier a unei imagini. Metodele spaţiale sunt cele
asupra carora ne vom concentra în materialul de față.


        Se întâlnesc destul de des şi tehnici de îmbunătăţire ce se bazează pe diferite combinaţii de
metode din aceste două categorii. De altfel, trebuie să menţionăm şi faptul că multe dintre tehnicile
fundamentale ce au legătură cu îmbunătăţirea imaginilor au și legătură cu multe alte aplicaţii de
procesare a imaginilor.


        Nu există o teorie generală a îmbunătăţirii imaginilor. Atunci când o imagine este procesată
pentru o interpretare virtuală, spectatorul este cel care judecă dacă o anumită metodă a dat rezultatele
dorite. Evaluarea vizuală a calităţii imaginii este un proces foarte subiectiv, astfel că definiţia „o


                                                     3
Ianuarie, 2009

imagine bună” este un standard iluzoriu prin care se pot compara performanţele unor algoritmi.


        Atunci când problema se pune în cazul procesării imaginilor pentru percepţia maşinilor,
evaluarea este ceva mai uşoară. De exemplu, atunci când este vorba despre o aplicaţie pentru
recunoaşterea caracterelor şi fără a lua în considerare alte probleme, aşa cum ar putea fi necesarul
computaţional, cea mai bună metodă de procesare a imaginilor ar fi cea în urmă căreia ar rezulta cele
mai bune rezultate recunoscute de maşină.


        Totuşi, chiar şi în situaţiile când unei probleme se poate aplica un criteriu foarte clar de
performanţă, de obicei este nevoie de mai multe încercări şi evaluări până când se poate alege o
anumită abordare pntru îmbunătăţirea imaginii.


        Aşa cum am menţionat şi mai devreme, sintagma domeniu spaţial se referă la totalitatea
pixelilor care alcătuiesc o imagine. Metodele domeniului spaţial sunt produse care acţionează direct
asupra acestor pixeli. Procesele domeniului spaţial vor fi notate prin expresia (1):


                                            g(x, y) = T[ f(x, y) ],


în care f(x, y) este imaginea input, g(x, y) este imaginea procesată, iar T este un operator al lui f, definit
în apropierea lui (x, y). Mai mult, T poate acţiona asupra unui set de imagini input, aşa cum ar fi
efectuarea unei adunări pixel cu pixel a unui număr de K imagini pentru reducerea zgomotului.


        Principala abordare în definirea unei vecinătăţi în jurul unui punct (x, y) este dată de folosirea
unei zone de sub-imagine pătrată sau rectangulară centrată în (x, y), după cum este prezentat în
imaginea Fig. 1. Centrul sub-imaginii este mutat pixel cu pixel, începând de exemplu cu colţul din
stânga. Operatorul T este aplicat fiecărei locaţii (x, y) pentru a produce rezultatul g în acea locaţie. În
acest proces se vor folosi numai pixeli din acea zonă a imaginii care este deschisă de vecinătate. Deşi
se pot folosi şi alte forme de vecinătate, ca apg( x, y) = TCf(x, y)D, proximităţile unui cerc, matricile
pătrate şi rectangulare sunt de departe cele mai predominante, pentru că sunt uşor de implementat.




                                                      4
Îmbunătăţirea imaginilor în domeniul spaţial




        Cea mai simplă formă a lui T este atunci când vecinătatea are dimensiunea 1x1 (adică un singur
pixel). În acest caz, g depinde numai de valoarea lui f la (x, y), iar T devine o funcţie de transformare
de nivel gri (numită şi intensitate sau mapare) de forma (2):


                                                 s = T(r)


în care pentru simplificarea notaţiei, r şi s sunt variabile care denotă respectiv nivelul gri al funcţiilor
f(x, y) şi g(x, y) în orice punct (x, y). De exemplu, dacă T(r) are forma prezentată în Fig. 2 (a), efectul
acest transformări ar fi producerea unei imagini cu un contrast mai mare decât originalul, prin
întunecarea nivelurilor inferioare lui m şi luminarea nivelurilor care în imaginea originală sunt
superioare lui m.




                                                     5
Ianuarie, 2009




        Prin această tehnică, numită şi extinderea contrastului, valorile lui r sub m sunt reduse prin
transformarea funcţiei într-o gamă restrânsă de s, spre negru. Efectul opus are loc pentru valori ale lui r
deasupra lui m. În cazul limitator prezentat în Fig. 2 (b), T(r) produce o imagine pe două niveluri
(binară). O mapare a acestei forme este numită o funcţie prag. Unele abordări de procesare destul de
simple, deşi foarte puternice, pot fi formulate prin transformări de nivel gri. Datorită faptului că
îmbunătăţirea oricărui punct dintr-o imagine depinde numai de nivelul de gri al acelui punct, tehnicile
din această categorie mai sunt numite şi procesări ale punctului. Vecinătăţile mai mari permit o mult
mai mare flexibilitate.


        Abordarea generală este să se folosească o funcţie a valorilor lui f într-o vecinătatea predefinită
a punctului (x, y), pentru a se determina valoarea lui g la (x, y). Una dintre abordările principale ale
acestei formulări se bazează pe utilizarea aşa-numitelor măşti (numite şi filtre, nuclee, şabloane sau
ferestre). În esenţă, o mască este o matrice 2-D de mici dimensiuni (ca de exemplu 3x3), ca în Fig. 1, în
care valorile coeficienţilor măştii determină natura procesului, aşa cum ar ascuţirea imaginii. Tehnicile
de îmbunătăţire care au la bază acest tip de abordare sunt numite şi procesări/filtrări ale măştii.




                                                     6
Îmbunătăţirea imaginilor în domeniul spaţial

        Principii de bază ale filtrării spaţiale
        Unele operaţiunii de vecinătate utilizează valorile pixelilor imaginilor din vecinătate şi valorile
corespunzătoare ale unei sub-imagini care are aceleaşi dimensiuni ca şi vecinătatea. Sub-imaginea este
numită şi mască, filtru, nucleu, şablon sau fereastră, primele trei cuvinte fiind cele mai des întâlnite în
terminologia de specialitate. Valorile dintre sub-imagine filtru sunt cel mai adesea numite coeficienţi, şi
nu pixeli.


        Conceptul de filtrare îşi are rădăcinile în utilizarea transformării Fourier pentru procesarea
semnalelor în domeniul frecvenţei. Noi suntem interesaţi în operaţiunile de filtrare realizate direct
asupra pixelilor dintr-o imagine. Vom folosi sintagma filtrare spaţială pentru a deosebi acest tip de
proces de filtrarea în domeniul frecvenţei, mai tradiţională.


        Mecanismele filtrării spaţiale sunt ilustrate în Fig. 3. Procesul este alcătuit din simpla mutare a
măştii-filtru dintr-un punct în altul al imaginii. La fiecare punct (x, y), răspunsul filtrului în acel punct
este calculat folosind o relaţie predefinită. Pentru o filtrare spaţială lineară, răspunsul este dat de o
sumă de produse ale coeficienţilor filtrului, iar pixelii imaginilor corespunzătoare în acea zonă sunt
măriţi de către masca filtru. Pentru masca 3x3 prezentă în Fig. 3, rezultatul (sau răspunsul), R, filtrării
lineare cu masca filtru în punctul (x, y) al imaginii este cel pe care îl vedem este suma produselor
coeficienţilor măştii, cu pixelii corespunzători direct sub mască. Coeficientul w(0, 0) coincide cu
valoarea imaginii f(x, y), ceea ce ne arată că masca este centrată la (x, y) atunci când are loc calcularea
sumelor produselor. Pentru o mască de mărimea m*n, presupunem că m=2a+1 şi n=2b+1, unde a şi b
sunt unităţi non-negative.


        Astfel, în următoarele rânduri vom pune accentul mai mult pe măşti cu dimensiuni impare,
considerând cea mai mică mărime ca fiind 3x3 (vom exclude din discuţie banalul caz al măştii 1x1).




                                                     7
Ianuarie, 2009




        În general, filtrarea lineară a unei imagini f de dimensiunile MxN cu o mască filtru de mărimea
m*n este dată de expresia (3):




                                                   8
Îmbunătăţirea imaginilor în domeniul spaţial




în care, aşa cum s-a arătat în paragraful anterior, a = (m – 1) / 2 şi b = (n – 1) / 2. Pentru a putea genera
o imagine complet filtrată, această ecuaţie trebuie să fie aplicată pentru x=0, 1, 2, p , M-1 şi y=0, 1, 2, p
, N-1. În acest mod, putem fi siguri că masca va procesa toţi pixelii imaginii. Atunci când m=n=3, se
poate verifica uşor că această expresie se reduce la exemplul oferit mai sus. Procesul filtrării lineare
prezentat în Eq. (3.5-1) este similar unui concept al frecvenţei domeniului numit suprapunere. Din
acest motiv, filtrarea spaţială lineară mai este definită şi ca „suprapunerea unei măşti cu o imagine.” În
mod similar, măştile filtrelor mai sunt numite şi măşti de suprapunere sau nuclee de suprapunere.
Atunci când ne axam pe rezultatul R al unei măşti m*n în orice punct (x, y), şi nu pe metodele de
implementare a unei măşti de suprapunere, de cele mai multe ori se simplifică notaţia, prin folosirea
următoarei expresii (4):




,în care w sunt coeficienţii măştii, z sunt valorile nivelurilor gri ale imaginii corespunzătoare acelor
coeficienţi, iar mn este numărul total de coeficienţi ai măştii. Pentru masca generală 3x3 prezentată în
Fig. 4, răspunsul în orice punct (x, y) al imaginii este dat de (5):




                                                      9
Ianuarie, 2009

        Trebuie să menţionăm că această formulă simplă este deosebit de importantă pentru că este des
prezentă în literatura de specialitate legată de procesarea imaginilor. Filtrele spaţiale non-lineare
acţionează asupra vecinătăţilor, iar mecanismele folosirii unei măşti asupra unei imagini sunt aceleaşi
ca cele prezentate mai sus. Cu toate acestea, în general, operaţiile de filtrare se bazează pe valorile
pixelilor în vecinătatea analizată, fără a folosi în mod explicit coeficienţii în sumele de produse descrise
în (3) şi (4). Reducerea zgomotului poate fi efectuată cu un filtru non-linear, a cărui funcţie de bază este
să calculeze valoarea mediană a nivelului de gri din vecinătatea în care filtrul este localizat. Calcularea
medianului este o operaţie non-lineară, la fel ca şi calcularea variaţiei.




        O consideraţie importantă în operaţiile de implementare a vecinătăţii pentru filtrarea spaţială
este legată de ceea ce se petrece atunci când centrul filtrului se apropie de marginea unei imagini. Să
luăm exemplul unei măşti pătrate cu dimensiunea de n*n. Cel puţin una dintre marginile unei astfel de
măşti va coincide cu marginea imaginii dacă centrul măştii este la o distanţă de (n - 1) / 2 pixeli de la
margine. Dacă centrul măştii se mută mai aproape de margine, unul sau mai multe rânduri sau coloane
ale măştii vor fi localizate în afara planului imaginii.


        Există mai multe soluţii pentru o astfel de situaţie. Cea mai simplă dintre acestea este să se
limiteze traseele centrului măştii, astfel încât să fie la o distanţă mai mare de (n - 1) / 2 pixeli faţă de
margine. Imaginea filtrată rezultată va fi mai mică faţă de original, dar toţi pixelii din imaginea filtrată
vor fi procesaţi de întreaga mască. Dacă este nevoie ca rezultatul să fie de aceeaşi dimensiune ca

                                                      10
Îmbunătăţirea imaginilor în domeniul spaţial

imaginea originală, abordarea care se foloseşte de cele mai multe ori este să se filtreze toţi pixelii doar
cu secţiunea măştii care este pe deplin conţinută de imagine. Prin această abordare, vor exista bande de
pixeli în apropierea marginii care vor fi procesaţi cu un filtru parţial.


        Alte abordări similare se referă la „căptuşirea” imaginii prin adăugarea de rânduri şi coloane de
0 (sau altă constantă de nivel gri), sau prin dublarea anumitor rânduri şi coloane. La sfârşitul
procesului, căptuşeala va fi înlăturată. În acest fel, dimensiunile imaginii filtrate vor fi similare
originalului, dar valorile a porțiunii adăugate anterior vor afecta mai ales marginile, cu efecte mai
vizibile pe măsură ce masca este tot mai mare. Singura metodă prin care se poate obţine un rezultat
perfect filtrat este să se accepte o dimensiune mai redusă a imaginii filtrate, prin limitarea mişcării
centrului măştii filtrate la o distanţă mai mare sau egală cu (n - 1) / 2 pixeli de la marginea imaginii
originale.


        Filtrele spaţiale de netezire
        Filtrele de netezire (smoothing) sunt folosite pentru neclaritate şi pentru reducerea zgomotului.
Neclaritatea, sau estomparea detaliilor, este folosită în etapele premergătoare ale procesării, pentru
înlăturarea unor mici detalii dintr-o imagine înainte de extragerea unui obiect (mai mare) şi pentru
unirea unor mici goluri în linii sau curbe. Reducerea zgomotului poate fi realizată prin estomparea
detaliilor cu un filtru linear, dar şi printr-un filtru non-linear.

        Filtre lineare de netezire
        Rezultatul unui filtru spaţial linear de netezire este media pixelilor aflaţi în vecinătatea măştii
filtru. Aceste filtre se mai numesc şi filtre de mediere. Aceste filtre mai poartă şi denumirea de filtre
trece jos.


        Ideea care stă la baza filtrelor de netezire este evidentă. Prin înlocuirea valorii fiecărui pixel
dintr-o imagine prin media nivelurilor de gri din vecinătatea definită de masca filtru se ajunge la o
imagine cu mai puţine tranziţii „ascuţite” între nivelurile de gri. Datorită faptului că zgomotul aleatoriu
este alcătuit de cele mai multe ori din treceri bruşte între nivelurile de gri, cea mai evidentă aplicaţie a
netezirii este reducerea zgomotului. Cu toate acestea, marginile (care sunt aproape întotdeauna
trăsături de bază ale unei imagini) sunt caracterizate de tranziţii aspre ale nivelurilor de gri, astfel că
unul dintre efectele nedorite ale filtrelor de mediere este întunecarea marginilor.

                                                        11
Ianuarie, 2009

        O altă aplicaţie a acestui tip de proces se referă la netezirea contururilor false care rezultă din
folosirea unui număr insuficient de niveluri de gri.


        O utilitate majoră a filtrelor de mediere este, de asemenea, reducerea detaliilor „irelevante”
dintr-o imagine. Termenul de „irelevant” se referă la regiunile de pixeli care sunt mici în comparaţie cu
dimensiunea măştii filtru.

        Filtre de ordonare statistică
        Filtrele de ordonare statistică sunt filtre spaţiale non-lineare a căror rezultate se bazează pe
ordonarea (ierarhizarea) pixelilor conţinuţi în zona imaginii supusă filtrului, înlocuindu-se apoi
valoarea pixelului central cu valoarea determinată de rezultatul ierarhizării. Cel mai bine cunoscut
exemplu din această categorie este filtrul median, care, aşa cum sugerează şi numele său, înlocuieşte
valoarea unui pixel prin media nivelurilor de gri din vecinătatea acelui pixel (valoarea originală a
pixelului este inclusă în calcularea mediei).


        Filtrele mediane sunt destul de bine cunoscute pentru că, în anumite cazuri de zgomot aleatoriu,
au o capacitate foarte bună de reducere a zgomotului, cu o estompare a detaliilor mai mică faţă de
filtrele de netezire lineare de mărimi similare. Aceste filtre sunt eficiente cu precădere în prezenţa
zgomotului de tip impuls, numit şi zgomot sare şi piper, pentru că apare sub formă de puncte albe şi
negre deasupra imaginii.


        Astfel, trăsătura principală a filtrelor mediane este de a forţa punctele cu niveluri de gri
deosebite să fie mai mult ca punctele din vecinătatea lor. De fapt, grupurile izolate de pixeli care sunt
mai luminate sau mai întunecate faţă de vecinii lor, iar suprafaţa lor este mai mică de n2 2 (unu şi
jumătate din zona filtru), sunt eliminate printr-un filtru median n*n. În acest caz, „eliminat” se referă la
faptul că aceşti pixeli sunt forţaţi să aibă intensitatea medie a vecinilor. Grupurile mai mari de pixeli
sunt afectate într-o proporţie mult mai mică. Deşi filtrul median este de departe cel mai folosit filtru de
ordonare statistică din procesarea imaginilor, el nu este în nici un caz singurul filtru din această
categorie. Mediana reprezintă mijlocul unui şir de numere ordonate, dar trebuie să ne aducem aminte că
ordonarea ierarhizată duce la multe alte posibilităţi. De exemplu, dacă folosim cel mai mare dintre
numerele din şirul ordonat, vom crea un filtru maxim, care poate fi utilizat pentru a găsi cel mai
luminos punct al unei imagini. Rezultatul unul filtru maxim 3x3 este dat de R = max { zk | k = 1, 2, ... ,


                                                       12
Îmbunătăţirea imaginilor în domeniul spaţial

9}. Dacă se alege cel mai mic număr din şirul ordonat, se va crea un filtru minim, care se foloseşte
pentru scopul opus faţă de filtrul maxim.


        Filtrele spaţiale de accentuare a detaliilor
        Principalul obiect al acestui tip de filtru este de a accentua detaliile de fineţe ale unei imagini
sau de a evidenţia un detaliu care a fost netezit, din greşeală sau ca efect natural a unei anumite metode
de achiziţie a imaginii. Utilizările acestui filtru variază, incluzând aplicaţii de la imprimare electronică
şi imagistică medicală, la inspecţii industriale şi conducerea automată a sistemelor militare.


        Spuneam mai sus că netezirea detaliilor unei imagini poate fi realizată în domeniul spaţial prin
calcularea mediei pixelilor dintr-o vecinătate. De vreme ce prin această metodă se ajunge la o integrare
a pixelilor într-o vecinătate, este logic să considerăm că evidenţierea detaliilor poate fi realizată prin
diferenţiere spaţială.


        Astfel, discuţiile din această secţiune se referă la diferite metode prin care se pot defini şi
implementa operatorii pentru accentuarea detaliilor prin diferenţiere digitală. În mod fundamental,
rezultatul unui operator derivativ este mai bun proporţional cu gradul de discontinuitate a imaginii în
punctul în care operatorul este aplicat. În acest fel, diferenţierea imaginii accentuează marginile şi alte
discontinuităţi (aşa cum este zgomotul) şi reduce atenţia asupra zonelor în care valorile nivelurilor de
gri nu variază foarte mult.




                                                    13
Ianuarie, 2009

        Ce este Pixel Blender?
        Tehnologia Adobe® Pixel Bender™ ajută la procesarea unor imagini sau secvenţe video,
oferind optimizare automatică în rularea folosind hardware eterogen. Limbajul de bază al acestei
tehnologii se poate utiliza pentru a implementa algoritmi de procesare a imaginii (filtre sau efecte),
indiferent de hardware. Limbajul grafic Pixel Blender este un limbaj bazat pe XML pentru a se utiliza
simultan operaţiuni de procesare individuală pentru pixeli, în filtrele complexe Pixel Blender.


        Pixel Blender are mai multe avantaje:


                 - Curbă de învăţare joasă – Pixel Blender oferă un număr redus de unelte, suficiente
        pentru scrie algoritmi complecşi de procesare a imaginii. Este mai uşor să înveţi să foloseşti
        Pixel Blender faţă de C/C++ şi plug-in-ul SDK al fiecărei aplicaţii. Nu trebuie să se cunoască
        nici un limbaj de grafică bazată pe umbră şi lumină sau API-uri multifir.


                 - Procesare paralelă - Pixel Bender permite aceluiaşi filtru să ruleze eficient pe diferite
        arhitecturi GPU şi CPU, inclusiv pe sisteme cu procesoare multiple. Rezultatele procesării
        imaginilor prin această tehnologie sunt excelente pentru produsele Adobe.


                 - Suportă toate adâncimile de bit – Acelaşi nucleu poate rula pe 8-bit/16-bit/32-bit în
        interiorul aplicaţiei.


                 - Poate fi integrat pe multiple aplicaţii Adobe - Pixel Bender este parte componentă a
        mai multe aplicaţii Adobe. Permite creearea de filtre ce pot fi utilizate în diferite produse
        Adobe.


        Pixel Blender este potrivit pentru implementarea algoritmilor în care procesarea oricărui pixel
are o dependenţă minimă faţă de valorile celorlalţi pixeli. De exemplu, se poate scrie un nucleu (kernel)
care să manipuleze luminozitatea imaginii, pentru că această caracteristică poate fi schimbată
independent pentru fiecare pixel. Nu este indicat să se folosescă Pixel Blender pentru a calcula o
histogramă, deoarece pentru aceasta este nevoie de valorile tuturor pixelilor din imagine.




                                                     14
Îmbunătăţirea imaginilor în domeniul spaţial

        Concluzii și perspective

        Adobe Pixel Blender oferă un set de facilități ce vor marca suita Adobe Creative Suite 4 (CS4),
suită lansată relativ recent. Noile clase Shader din ActionScript 3.0 lucrează cu tehnologia Adobe Pixel
Blender pentru a permite utilizatorului normal să-și scrie propriile filtre de manipulare a imaginilor și a
le aplica, dinamic, în proiectele lui Flash și nu numai. Scopul lucrării de față este doar introducerea spre
această oportunitate și nu de a descrie modul în care se realizează acest proces concret.


        În momentul instalării programului Flash CS4 se instalează automat și Adobe Pixel Blender
Toolkit. Acest modul poate fi instalat și independent de suita CS4 fară nici un cost (vezi referința 3).
Scopul lui este să creeze filtre, folosind un limbaj de programare relativ ușor de învățat, salvându-le
pentru a fi folosite în cadrul suitei Adobe CS4 (Flash, Photoshop, ș.a.). De asemenea permite
importarea, modificarea și testarea filtrelor existente.


        Testarea filtrelor în cadrul modulului (stand-alone) Adobe Pixel Blender se face, din nefericire,
doar peste imagini. Aceste filtre sunt aplicate în IDE-ul Flash și peste alte tipuri de obiecte și ar fi util
ca pe viitor să fie posibilă testarea pe obiecte de tip text, filme, clipuri animate direct în toolkit. Cu
toate acestea orizonturile deschise prin această tehnologie sunt foarte promițătoare, deoarece filtrele
scrise lucrează, se aplică, peste bytes, pentru ele necontând peste ce sunt aplicate. Poate fi vorba de o
imagine, un fișier audio sau chiar de un fișier video...




                                                     15
Ianuarie, 2009

        Referințe



        1. Digital Image Processing - Rafael C. Gonzalez, Richard E. Woods
        Prentice Hall; 2nd edition (15 Ianuarie, 2002); ISBN-13: 978-0201180756


        2. ActionScript 3.0 for Adobe Flash CS4 Professional Classroom in a Book
        Adobe Press; 12 Noiembrie 2008; ISBN-13: 978-0321618382


        3. http://labs.adobe.com/technologies/pixelbender/


        4. http://www.adobe.com




                                                 16

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Imbunatatirea Imaginilor In Domeniul Spatial

  • 1. Universitatea „Alexandru Ioan Cuza” Iași Facultatea de Informatică Îmbunătăţirea imaginilor în domeniul spaţial, accentuând filtrele de netezire şi câteva implementări folosind Adobe® Pixel BlenderTM Proiect de cercetare Realizator: Constantin Stan Master Optimizare Computațională Anul I Coordonator: Lect. Dr. Anca Ignat Ianuarie, 2009
  • 2. Ianuarie, 2009 Cuprins Introducere ................................................................................................................................................ 3  Principii de bază ale filtrării spaţiale......................................................................................................... 7  Filtrele spaţiale de netezire ..................................................................................................................... 11  Filtre lineare de netezire ...................................................................................................................... 11  Filtre de ordonare statistică ................................................................................................................. 12  Filtrele spaţiale de accentuare a detaliilor ............................................................................................... 13  Ce este Pixel Blender? ............................................................................................................................ 14  Concluzii și perspective .......................................................................................................................... 15  Referințe .................................................................................................................................................. 16  2
  • 3. Îmbunătăţirea imaginilor în domeniul spaţial Îmbunătăţirea imaginilor în domeniul spaţial, accentuând filtrele de netezire şi câteva implementări folosind Adobe® Pixel BlenderTM Introducere Principalul obiectiv al îmbunătățirii este să proceseze o imagine, astfel încât rezultatul să devină mai potrivit decât originalul pentru o anumită aplicaţie. Cuvântul specific este foarte important, pentru că stabileşte de la bun început faptul că tehnicile discutate sunt într-o mare măsură orientate spre problemă. În acest fel, de exemplu, este posibil ca o metodă care este utilă pentru îmbunătăţirea imaginilor realizate cu ajutorul razelor X să nu fie cea mai bună abordare pentru îmbunătăţirea imaginilor de pe Marte transmise de sondele spaţiale. Cu toate acestea, indiferent de metoda folosită, intensificarea imaginilor este unul dintre domeniile cele mai interesante şi mai atrăgătoare din punct de vedere vizual din cadrul procesării de imagini. Abordările îmbunătățirii de imagini se împart în două mari categorii: metodele domeniului spaţial şi metodele domeniului frecvenţei. Sintagma domeniul spaţial se referă la planul imaginii, iar abordările din această categorie se bazează pe manipularea directă a pixelilor dintr-o imagine. Tehnicile de procesare legate de domeniul frecvenţei au la bază modificarea transformării Fourier a unei imagini. Metodele spaţiale sunt cele asupra carora ne vom concentra în materialul de față. Se întâlnesc destul de des şi tehnici de îmbunătăţire ce se bazează pe diferite combinaţii de metode din aceste două categorii. De altfel, trebuie să menţionăm şi faptul că multe dintre tehnicile fundamentale ce au legătură cu îmbunătăţirea imaginilor au și legătură cu multe alte aplicaţii de procesare a imaginilor. Nu există o teorie generală a îmbunătăţirii imaginilor. Atunci când o imagine este procesată pentru o interpretare virtuală, spectatorul este cel care judecă dacă o anumită metodă a dat rezultatele dorite. Evaluarea vizuală a calităţii imaginii este un proces foarte subiectiv, astfel că definiţia „o 3
  • 4. Ianuarie, 2009 imagine bună” este un standard iluzoriu prin care se pot compara performanţele unor algoritmi. Atunci când problema se pune în cazul procesării imaginilor pentru percepţia maşinilor, evaluarea este ceva mai uşoară. De exemplu, atunci când este vorba despre o aplicaţie pentru recunoaşterea caracterelor şi fără a lua în considerare alte probleme, aşa cum ar putea fi necesarul computaţional, cea mai bună metodă de procesare a imaginilor ar fi cea în urmă căreia ar rezulta cele mai bune rezultate recunoscute de maşină. Totuşi, chiar şi în situaţiile când unei probleme se poate aplica un criteriu foarte clar de performanţă, de obicei este nevoie de mai multe încercări şi evaluări până când se poate alege o anumită abordare pntru îmbunătăţirea imaginii. Aşa cum am menţionat şi mai devreme, sintagma domeniu spaţial se referă la totalitatea pixelilor care alcătuiesc o imagine. Metodele domeniului spaţial sunt produse care acţionează direct asupra acestor pixeli. Procesele domeniului spaţial vor fi notate prin expresia (1): g(x, y) = T[ f(x, y) ], în care f(x, y) este imaginea input, g(x, y) este imaginea procesată, iar T este un operator al lui f, definit în apropierea lui (x, y). Mai mult, T poate acţiona asupra unui set de imagini input, aşa cum ar fi efectuarea unei adunări pixel cu pixel a unui număr de K imagini pentru reducerea zgomotului. Principala abordare în definirea unei vecinătăţi în jurul unui punct (x, y) este dată de folosirea unei zone de sub-imagine pătrată sau rectangulară centrată în (x, y), după cum este prezentat în imaginea Fig. 1. Centrul sub-imaginii este mutat pixel cu pixel, începând de exemplu cu colţul din stânga. Operatorul T este aplicat fiecărei locaţii (x, y) pentru a produce rezultatul g în acea locaţie. În acest proces se vor folosi numai pixeli din acea zonă a imaginii care este deschisă de vecinătate. Deşi se pot folosi şi alte forme de vecinătate, ca apg( x, y) = TCf(x, y)D, proximităţile unui cerc, matricile pătrate şi rectangulare sunt de departe cele mai predominante, pentru că sunt uşor de implementat. 4
  • 5. Îmbunătăţirea imaginilor în domeniul spaţial Cea mai simplă formă a lui T este atunci când vecinătatea are dimensiunea 1x1 (adică un singur pixel). În acest caz, g depinde numai de valoarea lui f la (x, y), iar T devine o funcţie de transformare de nivel gri (numită şi intensitate sau mapare) de forma (2): s = T(r) în care pentru simplificarea notaţiei, r şi s sunt variabile care denotă respectiv nivelul gri al funcţiilor f(x, y) şi g(x, y) în orice punct (x, y). De exemplu, dacă T(r) are forma prezentată în Fig. 2 (a), efectul acest transformări ar fi producerea unei imagini cu un contrast mai mare decât originalul, prin întunecarea nivelurilor inferioare lui m şi luminarea nivelurilor care în imaginea originală sunt superioare lui m. 5
  • 6. Ianuarie, 2009 Prin această tehnică, numită şi extinderea contrastului, valorile lui r sub m sunt reduse prin transformarea funcţiei într-o gamă restrânsă de s, spre negru. Efectul opus are loc pentru valori ale lui r deasupra lui m. În cazul limitator prezentat în Fig. 2 (b), T(r) produce o imagine pe două niveluri (binară). O mapare a acestei forme este numită o funcţie prag. Unele abordări de procesare destul de simple, deşi foarte puternice, pot fi formulate prin transformări de nivel gri. Datorită faptului că îmbunătăţirea oricărui punct dintr-o imagine depinde numai de nivelul de gri al acelui punct, tehnicile din această categorie mai sunt numite şi procesări ale punctului. Vecinătăţile mai mari permit o mult mai mare flexibilitate. Abordarea generală este să se folosească o funcţie a valorilor lui f într-o vecinătatea predefinită a punctului (x, y), pentru a se determina valoarea lui g la (x, y). Una dintre abordările principale ale acestei formulări se bazează pe utilizarea aşa-numitelor măşti (numite şi filtre, nuclee, şabloane sau ferestre). În esenţă, o mască este o matrice 2-D de mici dimensiuni (ca de exemplu 3x3), ca în Fig. 1, în care valorile coeficienţilor măştii determină natura procesului, aşa cum ar ascuţirea imaginii. Tehnicile de îmbunătăţire care au la bază acest tip de abordare sunt numite şi procesări/filtrări ale măştii. 6
  • 7. Îmbunătăţirea imaginilor în domeniul spaţial Principii de bază ale filtrării spaţiale Unele operaţiunii de vecinătate utilizează valorile pixelilor imaginilor din vecinătate şi valorile corespunzătoare ale unei sub-imagini care are aceleaşi dimensiuni ca şi vecinătatea. Sub-imaginea este numită şi mască, filtru, nucleu, şablon sau fereastră, primele trei cuvinte fiind cele mai des întâlnite în terminologia de specialitate. Valorile dintre sub-imagine filtru sunt cel mai adesea numite coeficienţi, şi nu pixeli. Conceptul de filtrare îşi are rădăcinile în utilizarea transformării Fourier pentru procesarea semnalelor în domeniul frecvenţei. Noi suntem interesaţi în operaţiunile de filtrare realizate direct asupra pixelilor dintr-o imagine. Vom folosi sintagma filtrare spaţială pentru a deosebi acest tip de proces de filtrarea în domeniul frecvenţei, mai tradiţională. Mecanismele filtrării spaţiale sunt ilustrate în Fig. 3. Procesul este alcătuit din simpla mutare a măştii-filtru dintr-un punct în altul al imaginii. La fiecare punct (x, y), răspunsul filtrului în acel punct este calculat folosind o relaţie predefinită. Pentru o filtrare spaţială lineară, răspunsul este dat de o sumă de produse ale coeficienţilor filtrului, iar pixelii imaginilor corespunzătoare în acea zonă sunt măriţi de către masca filtru. Pentru masca 3x3 prezentă în Fig. 3, rezultatul (sau răspunsul), R, filtrării lineare cu masca filtru în punctul (x, y) al imaginii este cel pe care îl vedem este suma produselor coeficienţilor măştii, cu pixelii corespunzători direct sub mască. Coeficientul w(0, 0) coincide cu valoarea imaginii f(x, y), ceea ce ne arată că masca este centrată la (x, y) atunci când are loc calcularea sumelor produselor. Pentru o mască de mărimea m*n, presupunem că m=2a+1 şi n=2b+1, unde a şi b sunt unităţi non-negative. Astfel, în următoarele rânduri vom pune accentul mai mult pe măşti cu dimensiuni impare, considerând cea mai mică mărime ca fiind 3x3 (vom exclude din discuţie banalul caz al măştii 1x1). 7
  • 8. Ianuarie, 2009 În general, filtrarea lineară a unei imagini f de dimensiunile MxN cu o mască filtru de mărimea m*n este dată de expresia (3): 8
  • 9. Îmbunătăţirea imaginilor în domeniul spaţial în care, aşa cum s-a arătat în paragraful anterior, a = (m – 1) / 2 şi b = (n – 1) / 2. Pentru a putea genera o imagine complet filtrată, această ecuaţie trebuie să fie aplicată pentru x=0, 1, 2, p , M-1 şi y=0, 1, 2, p , N-1. În acest mod, putem fi siguri că masca va procesa toţi pixelii imaginii. Atunci când m=n=3, se poate verifica uşor că această expresie se reduce la exemplul oferit mai sus. Procesul filtrării lineare prezentat în Eq. (3.5-1) este similar unui concept al frecvenţei domeniului numit suprapunere. Din acest motiv, filtrarea spaţială lineară mai este definită şi ca „suprapunerea unei măşti cu o imagine.” În mod similar, măştile filtrelor mai sunt numite şi măşti de suprapunere sau nuclee de suprapunere. Atunci când ne axam pe rezultatul R al unei măşti m*n în orice punct (x, y), şi nu pe metodele de implementare a unei măşti de suprapunere, de cele mai multe ori se simplifică notaţia, prin folosirea următoarei expresii (4): ,în care w sunt coeficienţii măştii, z sunt valorile nivelurilor gri ale imaginii corespunzătoare acelor coeficienţi, iar mn este numărul total de coeficienţi ai măştii. Pentru masca generală 3x3 prezentată în Fig. 4, răspunsul în orice punct (x, y) al imaginii este dat de (5): 9
  • 10. Ianuarie, 2009 Trebuie să menţionăm că această formulă simplă este deosebit de importantă pentru că este des prezentă în literatura de specialitate legată de procesarea imaginilor. Filtrele spaţiale non-lineare acţionează asupra vecinătăţilor, iar mecanismele folosirii unei măşti asupra unei imagini sunt aceleaşi ca cele prezentate mai sus. Cu toate acestea, în general, operaţiile de filtrare se bazează pe valorile pixelilor în vecinătatea analizată, fără a folosi în mod explicit coeficienţii în sumele de produse descrise în (3) şi (4). Reducerea zgomotului poate fi efectuată cu un filtru non-linear, a cărui funcţie de bază este să calculeze valoarea mediană a nivelului de gri din vecinătatea în care filtrul este localizat. Calcularea medianului este o operaţie non-lineară, la fel ca şi calcularea variaţiei. O consideraţie importantă în operaţiile de implementare a vecinătăţii pentru filtrarea spaţială este legată de ceea ce se petrece atunci când centrul filtrului se apropie de marginea unei imagini. Să luăm exemplul unei măşti pătrate cu dimensiunea de n*n. Cel puţin una dintre marginile unei astfel de măşti va coincide cu marginea imaginii dacă centrul măştii este la o distanţă de (n - 1) / 2 pixeli de la margine. Dacă centrul măştii se mută mai aproape de margine, unul sau mai multe rânduri sau coloane ale măştii vor fi localizate în afara planului imaginii. Există mai multe soluţii pentru o astfel de situaţie. Cea mai simplă dintre acestea este să se limiteze traseele centrului măştii, astfel încât să fie la o distanţă mai mare de (n - 1) / 2 pixeli faţă de margine. Imaginea filtrată rezultată va fi mai mică faţă de original, dar toţi pixelii din imaginea filtrată vor fi procesaţi de întreaga mască. Dacă este nevoie ca rezultatul să fie de aceeaşi dimensiune ca 10
  • 11. Îmbunătăţirea imaginilor în domeniul spaţial imaginea originală, abordarea care se foloseşte de cele mai multe ori este să se filtreze toţi pixelii doar cu secţiunea măştii care este pe deplin conţinută de imagine. Prin această abordare, vor exista bande de pixeli în apropierea marginii care vor fi procesaţi cu un filtru parţial. Alte abordări similare se referă la „căptuşirea” imaginii prin adăugarea de rânduri şi coloane de 0 (sau altă constantă de nivel gri), sau prin dublarea anumitor rânduri şi coloane. La sfârşitul procesului, căptuşeala va fi înlăturată. În acest fel, dimensiunile imaginii filtrate vor fi similare originalului, dar valorile a porțiunii adăugate anterior vor afecta mai ales marginile, cu efecte mai vizibile pe măsură ce masca este tot mai mare. Singura metodă prin care se poate obţine un rezultat perfect filtrat este să se accepte o dimensiune mai redusă a imaginii filtrate, prin limitarea mişcării centrului măştii filtrate la o distanţă mai mare sau egală cu (n - 1) / 2 pixeli de la marginea imaginii originale. Filtrele spaţiale de netezire Filtrele de netezire (smoothing) sunt folosite pentru neclaritate şi pentru reducerea zgomotului. Neclaritatea, sau estomparea detaliilor, este folosită în etapele premergătoare ale procesării, pentru înlăturarea unor mici detalii dintr-o imagine înainte de extragerea unui obiect (mai mare) şi pentru unirea unor mici goluri în linii sau curbe. Reducerea zgomotului poate fi realizată prin estomparea detaliilor cu un filtru linear, dar şi printr-un filtru non-linear. Filtre lineare de netezire Rezultatul unui filtru spaţial linear de netezire este media pixelilor aflaţi în vecinătatea măştii filtru. Aceste filtre se mai numesc şi filtre de mediere. Aceste filtre mai poartă şi denumirea de filtre trece jos. Ideea care stă la baza filtrelor de netezire este evidentă. Prin înlocuirea valorii fiecărui pixel dintr-o imagine prin media nivelurilor de gri din vecinătatea definită de masca filtru se ajunge la o imagine cu mai puţine tranziţii „ascuţite” între nivelurile de gri. Datorită faptului că zgomotul aleatoriu este alcătuit de cele mai multe ori din treceri bruşte între nivelurile de gri, cea mai evidentă aplicaţie a netezirii este reducerea zgomotului. Cu toate acestea, marginile (care sunt aproape întotdeauna trăsături de bază ale unei imagini) sunt caracterizate de tranziţii aspre ale nivelurilor de gri, astfel că unul dintre efectele nedorite ale filtrelor de mediere este întunecarea marginilor. 11
  • 12. Ianuarie, 2009 O altă aplicaţie a acestui tip de proces se referă la netezirea contururilor false care rezultă din folosirea unui număr insuficient de niveluri de gri. O utilitate majoră a filtrelor de mediere este, de asemenea, reducerea detaliilor „irelevante” dintr-o imagine. Termenul de „irelevant” se referă la regiunile de pixeli care sunt mici în comparaţie cu dimensiunea măştii filtru. Filtre de ordonare statistică Filtrele de ordonare statistică sunt filtre spaţiale non-lineare a căror rezultate se bazează pe ordonarea (ierarhizarea) pixelilor conţinuţi în zona imaginii supusă filtrului, înlocuindu-se apoi valoarea pixelului central cu valoarea determinată de rezultatul ierarhizării. Cel mai bine cunoscut exemplu din această categorie este filtrul median, care, aşa cum sugerează şi numele său, înlocuieşte valoarea unui pixel prin media nivelurilor de gri din vecinătatea acelui pixel (valoarea originală a pixelului este inclusă în calcularea mediei). Filtrele mediane sunt destul de bine cunoscute pentru că, în anumite cazuri de zgomot aleatoriu, au o capacitate foarte bună de reducere a zgomotului, cu o estompare a detaliilor mai mică faţă de filtrele de netezire lineare de mărimi similare. Aceste filtre sunt eficiente cu precădere în prezenţa zgomotului de tip impuls, numit şi zgomot sare şi piper, pentru că apare sub formă de puncte albe şi negre deasupra imaginii. Astfel, trăsătura principală a filtrelor mediane este de a forţa punctele cu niveluri de gri deosebite să fie mai mult ca punctele din vecinătatea lor. De fapt, grupurile izolate de pixeli care sunt mai luminate sau mai întunecate faţă de vecinii lor, iar suprafaţa lor este mai mică de n2 2 (unu şi jumătate din zona filtru), sunt eliminate printr-un filtru median n*n. În acest caz, „eliminat” se referă la faptul că aceşti pixeli sunt forţaţi să aibă intensitatea medie a vecinilor. Grupurile mai mari de pixeli sunt afectate într-o proporţie mult mai mică. Deşi filtrul median este de departe cel mai folosit filtru de ordonare statistică din procesarea imaginilor, el nu este în nici un caz singurul filtru din această categorie. Mediana reprezintă mijlocul unui şir de numere ordonate, dar trebuie să ne aducem aminte că ordonarea ierarhizată duce la multe alte posibilităţi. De exemplu, dacă folosim cel mai mare dintre numerele din şirul ordonat, vom crea un filtru maxim, care poate fi utilizat pentru a găsi cel mai luminos punct al unei imagini. Rezultatul unul filtru maxim 3x3 este dat de R = max { zk | k = 1, 2, ... , 12
  • 13. Îmbunătăţirea imaginilor în domeniul spaţial 9}. Dacă se alege cel mai mic număr din şirul ordonat, se va crea un filtru minim, care se foloseşte pentru scopul opus faţă de filtrul maxim. Filtrele spaţiale de accentuare a detaliilor Principalul obiect al acestui tip de filtru este de a accentua detaliile de fineţe ale unei imagini sau de a evidenţia un detaliu care a fost netezit, din greşeală sau ca efect natural a unei anumite metode de achiziţie a imaginii. Utilizările acestui filtru variază, incluzând aplicaţii de la imprimare electronică şi imagistică medicală, la inspecţii industriale şi conducerea automată a sistemelor militare. Spuneam mai sus că netezirea detaliilor unei imagini poate fi realizată în domeniul spaţial prin calcularea mediei pixelilor dintr-o vecinătate. De vreme ce prin această metodă se ajunge la o integrare a pixelilor într-o vecinătate, este logic să considerăm că evidenţierea detaliilor poate fi realizată prin diferenţiere spaţială. Astfel, discuţiile din această secţiune se referă la diferite metode prin care se pot defini şi implementa operatorii pentru accentuarea detaliilor prin diferenţiere digitală. În mod fundamental, rezultatul unui operator derivativ este mai bun proporţional cu gradul de discontinuitate a imaginii în punctul în care operatorul este aplicat. În acest fel, diferenţierea imaginii accentuează marginile şi alte discontinuităţi (aşa cum este zgomotul) şi reduce atenţia asupra zonelor în care valorile nivelurilor de gri nu variază foarte mult. 13
  • 14. Ianuarie, 2009 Ce este Pixel Blender? Tehnologia Adobe® Pixel Bender™ ajută la procesarea unor imagini sau secvenţe video, oferind optimizare automatică în rularea folosind hardware eterogen. Limbajul de bază al acestei tehnologii se poate utiliza pentru a implementa algoritmi de procesare a imaginii (filtre sau efecte), indiferent de hardware. Limbajul grafic Pixel Blender este un limbaj bazat pe XML pentru a se utiliza simultan operaţiuni de procesare individuală pentru pixeli, în filtrele complexe Pixel Blender. Pixel Blender are mai multe avantaje: - Curbă de învăţare joasă – Pixel Blender oferă un număr redus de unelte, suficiente pentru scrie algoritmi complecşi de procesare a imaginii. Este mai uşor să înveţi să foloseşti Pixel Blender faţă de C/C++ şi plug-in-ul SDK al fiecărei aplicaţii. Nu trebuie să se cunoască nici un limbaj de grafică bazată pe umbră şi lumină sau API-uri multifir. - Procesare paralelă - Pixel Bender permite aceluiaşi filtru să ruleze eficient pe diferite arhitecturi GPU şi CPU, inclusiv pe sisteme cu procesoare multiple. Rezultatele procesării imaginilor prin această tehnologie sunt excelente pentru produsele Adobe. - Suportă toate adâncimile de bit – Acelaşi nucleu poate rula pe 8-bit/16-bit/32-bit în interiorul aplicaţiei. - Poate fi integrat pe multiple aplicaţii Adobe - Pixel Bender este parte componentă a mai multe aplicaţii Adobe. Permite creearea de filtre ce pot fi utilizate în diferite produse Adobe. Pixel Blender este potrivit pentru implementarea algoritmilor în care procesarea oricărui pixel are o dependenţă minimă faţă de valorile celorlalţi pixeli. De exemplu, se poate scrie un nucleu (kernel) care să manipuleze luminozitatea imaginii, pentru că această caracteristică poate fi schimbată independent pentru fiecare pixel. Nu este indicat să se folosescă Pixel Blender pentru a calcula o histogramă, deoarece pentru aceasta este nevoie de valorile tuturor pixelilor din imagine. 14
  • 15. Îmbunătăţirea imaginilor în domeniul spaţial Concluzii și perspective Adobe Pixel Blender oferă un set de facilități ce vor marca suita Adobe Creative Suite 4 (CS4), suită lansată relativ recent. Noile clase Shader din ActionScript 3.0 lucrează cu tehnologia Adobe Pixel Blender pentru a permite utilizatorului normal să-și scrie propriile filtre de manipulare a imaginilor și a le aplica, dinamic, în proiectele lui Flash și nu numai. Scopul lucrării de față este doar introducerea spre această oportunitate și nu de a descrie modul în care se realizează acest proces concret. În momentul instalării programului Flash CS4 se instalează automat și Adobe Pixel Blender Toolkit. Acest modul poate fi instalat și independent de suita CS4 fară nici un cost (vezi referința 3). Scopul lui este să creeze filtre, folosind un limbaj de programare relativ ușor de învățat, salvându-le pentru a fi folosite în cadrul suitei Adobe CS4 (Flash, Photoshop, ș.a.). De asemenea permite importarea, modificarea și testarea filtrelor existente. Testarea filtrelor în cadrul modulului (stand-alone) Adobe Pixel Blender se face, din nefericire, doar peste imagini. Aceste filtre sunt aplicate în IDE-ul Flash și peste alte tipuri de obiecte și ar fi util ca pe viitor să fie posibilă testarea pe obiecte de tip text, filme, clipuri animate direct în toolkit. Cu toate acestea orizonturile deschise prin această tehnologie sunt foarte promițătoare, deoarece filtrele scrise lucrează, se aplică, peste bytes, pentru ele necontând peste ce sunt aplicate. Poate fi vorba de o imagine, un fișier audio sau chiar de un fișier video... 15
  • 16. Ianuarie, 2009 Referințe 1. Digital Image Processing - Rafael C. Gonzalez, Richard E. Woods Prentice Hall; 2nd edition (15 Ianuarie, 2002); ISBN-13: 978-0201180756 2. ActionScript 3.0 for Adobe Flash CS4 Professional Classroom in a Book Adobe Press; 12 Noiembrie 2008; ISBN-13: 978-0321618382 3. http://labs.adobe.com/technologies/pixelbender/ 4. http://www.adobe.com 16