# Irudien prozesaketa digital

Irudien prozesaketa digitala irudi digitaletan, kalitatea hobetzeko edo informazioaren bilaketa errazteko aplikatzen den teknika multzoa da.

## Iragazketaren prozesua

Irudien aurreprozesaketaren barnean dauden teknika-multzoa da eta, helburua, jatorrizko irudi batetik abiatuz, ezaugarriak hobetuz aplikazio jakin baterako egokiagoa den beste irudi bat lortzea da, prozesaketa-eragiketak egitea posible eginez.
Iragazkiak aplikatuz bilatzen diren helburu nagusiak ondorengoak dira:
* Irudia leundu, pixel auzokideen arteko intentsitate aldaketak txikiagotu.
* Zarata murriztu: irudia eskuratzeko prozesuaren edo irudiaren transmisioaren eraginez auzokideen intentsitate maila oso desberdina duten pixelak ezabatu.
* Ertzak nabarmendu: irudi batean lokalizatzen diren ertzak nabarmenagoak egin.
* Ertzak detektatu: intentsitate-funtzioan aldaketa bortitza duten pixelak detektatu.
Beraz, irudia optimizatzeko, informazio jakin bat gailentzeko edo irudian efektu bereziren bat lortzeko irudi digital baten pixelei aplikatzen zaizkien eragiketak dira iragazkiak.
Iragazketa-prozesua maiztasunaren edo-eta espazioaren domeinuetan egin daiteke.

### Iragazketa maiztasunaren domeinuan

Maiztasunaren domeinuko iragazkiek, irudiaren Fourier-en transformatuaren maiztasunaren domeinuan lan eginez prozesatzen dute irudia. Horretarako, Konboluzioaren Teorema jarraitzen da, honela:
* Fourier-en transformatua aplikatzen da,
* aukeratutako iragazkiaren funtzioarekin biderkatzen da,
* amaitzeko, irudia espazioaren domeinura bihurtzen da berriro, Fourier-en alderantzizko transformatua aplikatuz.
Konboluzioaren teorema (maiztsuna): $G(u,v)=F(u,v)*H(u,v)$
F(u,v): jatorriko irudiaren Fourier-en transformatua
H(u,v): maiztasunak leuntzeko iragazkia
Biderketa Fourier-en espazioan eta konboluzioa domeinu espazialean berdinak direnez, teorian behintzat, iragazi guztiak iragazi espazial moduan inplementatu ahal izango lirateke.

#### Motak

Funtsean, hiru iragazi mota aplika daitezke:
* Behe-paseko iragazkia: maiztasun handiak arintzen ditu eta aldakuntzarik gabe uzten ditu maiztasun txikiak. Espazioaren domeinuan lortzen den emaitza leuntzeko iragazki bat aplikatzearen baliokidea da, zeinetan iragazitako maiztasun handiak intentsitate-aldaketa bortitzak diren. Zarata gutxiagotzea lortzen du trantsizioak leunduz.
* Goi-paseko iragazkia: maiztasun baxuak arintzen ditu eta aldakuntzarik gabe uzten ditu maiztasun handiak. Irudietan ematen diren maiztasun handiak dentsitate aldaketa bortitzek eragiten dituztenez, iragazki mota hori ertzak detektatzeko erabiltzen da espazioaren domeinuan, horrelako maiztasunak ertzetan arruntak dira eta. Irudian dauden kontrasteak indartzen ditu.
* Banda-paseko iragazkia: maiztasun oso handiak edo oso txikiak arintzen ditu, maiztasun ertaineko banda mantenduz.

#### Abantailak

* Metodo sinplea eta inplementatzeko erraza.
* Erraza da maiztasunaren kontzeptua irudiaren zenbait ezaugarrirekin lotzea; tonalitate aldaketa leunek maiztasun txikiak eragiten dituzte eta, aldaketa bortitzek, berriz, maiztasun handiak.
* Iragazketarako soluzioak diseinatzeko malgutasuna eskaintzen du.
* Iragazketa azkarra da Konboluzioaren Teorema erabiltzen delako.

#### Desabantailak

* Ezagutza behar da hainbat arlotan irudien prozesaketarako aplikazio bat garatzeko.
* Zarata ezin da erabat kendu.

### Iragazketa espazioaren domeinuan

Iragazketa-eragiketak irudiko pixeletan aplikatzen dira zuzenean. Prozesu horretan, irudiko pixel bakoitza helburu-pixeletik gertu dauden pixel multzoarekin erlazionatzen da aplikatzen den filtroaren araberako informazio baliagarria lortzeko. Informazio horrek baimenduko du iragazia izaten ari den pixelaren gainean eragitea eta, horrela, irudiaren edo-eta datuen gaineko hobekuntzak lortu eta, gerora erabili irudiarekin egingo diren ekintza edo lanetan.
Espazioaren domeinuko iragazkiak sailka daitezke, honela:
* Iragazki linealak (fkernel edo konboluzio-maskaratan oinarritutakoak).
* Iragazki ez linealak.
Kernela koefizienteen matrize bat da, irudiko "(x,y)" puntua hartuz hautatutako kernelaren tamaina eta formaren mendekoa den "g(x,y)" lortzeko erabiltzen dena. Matrize horren forma eta tamaina aldakorrak diren arren eta erabiltzailearen esku dauden arren, arrunta da "nxn" tamainako kernel karratuak erabiltzea. Inplementazioaren arabera, irudiaren mugetan tratamendu berezia aplikatzen da (zeroz osatutako kanpo markoa hartzen da edo mugetako balioak errepikatzen dira) edo ez da bat ere aplikatzen. Hori dela eta, erabiltzen den iragaziaren edukiak erabakitzen du iragazketa-mota.
Espazioaren domeinuan iragazkia egiteko kernelaren konboluzioa (ekorketa) egiten da irudiaren gainean. Horretarako, "Konboluzioaren teorema espazioan" jarraitzen da: g(x,y) = h(x,y) * f(x,y)
* Irudi berriko pixel bakoitza, kernela eta pixel auzokideen arteko biderketen gehiketa eginez lortzen da: g(x,y) = ∑∑ f(i,j) w(i,j)
* Eskuarki, konstante batekin zatitzen da gehiketak ematen duen emaitza normalizatzeko.

#### Motak

* Behe-paseko iragazia (leuntzea): zarata kentzeko edo interes txikiko xehetasunak ezabatzeko erabiltzen da, aldaketa handiko zonaldeetan soilik eragiten du eta. Ebaki-maiztasuna kernelaren tamainaren eta koefizienteen arabera erabakitzen da. Hainbat kernel erabiltzen dira:
** Batezbestekoa: pixel auzokideen batezbestekoa (batekoen kernela)
** Behe-pasea maiztasunean.
** Media: pixel bakoitza bere auzokideen batez besteko balioarekin ordezten du.
** Mediana: auzokideen mediana balioarekin ordezten du pixelaren balioa (normalean, batez bestekoak baino portaera hobea erakusten du).
** Gausstarra: Gauss-en banaketaren hurbilketa.
* Goi-paseko iragazkia (arintzea): xehetasunak, ertzak eta maiztasun handiko aldaketak nabarmentzen ditu eta, tonalitate uniformea duten zonak leuntzen ditu. Horri esker irudian aurkitzen diren objektuak hobeto identifikatu daitezke gerora, distira handiagoa egiten baita maiztasun handiko zonatan eta, aldi berean, maiztasun txikiko zonak ilundu. Prozesuaren ondorioz arrunta da zarata agertzea.
* Ertzen desplazamendu eta diferentzia bidezko indartzea: Jatorrizko irudiaren eta irudi beraren kopia desplazatuaren arteko kenketa egiten du. Horrela, existitzen diren ertzak lokalizatu eta indartu daitezke.
** Horizontala.
** Bertikala.
** Horizontala/Bertikala (diagonala).
* Laplace-ren bidez ertzak nabarmendu: iragazki mota horrek noranzko guztietan dauden ertzak nabarmentzen ditu (lortutako emaitza aurreko motako eredu guztien batura aplikatzearen ondorioa bezala har daiteke ). Oraingoan, bigarren deribatuarekin egiten da lan eta horrek, emaitza hobeak lortzea ahalbidetzen du nahiz eta irudian zarata handitu.
* Ertzak nabarmendu norabidezko gradientearekin: noranzko jakin batean dauden ertzak zehaztasun handiagoarekin nabarmentzeko eta indartzeko erabiltzen da. Aldameneko pixelen artean dauden intentsitate aldaketekin egiten du lan.
* Ertzak detektatu eta ingeradako iragazkiak (Prewitt eta Sobel): aurrekoek egiten duten moduan, pixeletik pixelera dagoen intentsitatearen diferentzian zentratzen da. Objektuen ingeradak lortzeko erabiltzen dira eta, horrela, irudi batean dauden formak sailkatu. Iragazki hauek kostu konputazional txikiagoa dute.

## Ikus, gainera

* Matlab, irudien prozesaketa digitalerako paketea duen software matematikoa
* Ordenagailu bidezko ikusmena

## Bibliografia

* González, R.C., Wintz, P. Procesamiento digital de imágenes. 1996. Addison-Wesley
* Acharya, T., Ray, A. K. Image processing: principles and applications. 2005 John Wiley & Sons.
* Alegre, E., Sánchez, L., Fernández, R. Á., Mostaza, J. C. Procesamiento Digital de Imagen: fundamentos y prácticas con Matlab. 2003 Universidad de León. ISBN = 84-9773-052-6
* Rafael C. González, Richard E. Woods, Steven L. Eddins. Digital image processing using Matlab. 2009. Gonzalez, Woods, & Eddins

## Kanpo estekak

* http://www.aet.org.es/revistas/revista8/AET8_5.pdf
* https://web.archive.org/web/20100404013558/http://dmi.uib.es/~catalina/docencia/PDS/tema3.pdf
* http://homepages.inf.ed.ac.uk/rbf/HIPR2/freqfilt.htm
* https://web.archive.org/web/20100619121419/http://www.seap.es/telepatologia/telepatologia03.pdf
* http://sourceforge.net/projects/phi