# Matriu numèrica d'una imatge digital

Una matriu numèrica d'una imatge digital és la matriu que s'obté al analitzar tots el píxels dels que esta compost una imatge digital.
Com que totes les imatges digitals estan formades íntegrament per píxels, de cada imatge, se'n pot extreure una matriu mes o menys complexa depenent de la quantitat de píxels que contingui la imatge en si. En el cas, per exemple, que una imatge tingui una resolució de 1920x1080, la matriu resultant seria una matriu de 1920 columnes i 1080 files, és a dir una matriu de 2073600 elements, ja que es tractaria d'una foto amb 2073600 píxels.

## Escala de grisos

En el cas que la imatge que es vulgui representar com una matriu, estigui en una escala de grisos, Cada element de la matriu podrà prendre un valor entre 0 i 255. En cas que el valor sigui 0, el píxel en concret, tindrà el color negre més intens. Per lo contrari, si el valor d'un element és 255, el píxel passarà a ser completament blanc. Dins aquest marge es poden modificar els valor per a obtenir diferents tonalitats de grisos, siguin aquests més foscs o més clars.
Cal tenir en compte que en el cas que un d'aquests valors sobrepasses el valor de 255, aquest s'establiria a 255 automàticament, ja que si no es consideraria un píxel saturat. El mateix passa si el valor és negatiu, automàticament s'estableix el valor a 0 per evitar saturacions.

## Color: RGB

En el cas que la imatge sigui en color, s'utilitzen els colors primaris, vermell, verd i blau (d'aquí el nom RGB en referència al nom en angles d'aquests colors, red, green, blue)
En aquest cas, cada element de la matriu, passa a tenir 3 components (R,G,B) que poden prendre valors entre el 0 i el 255 indicant també la seva intensitat. Si el que es desitja és aconseguir un color diferent a aquests tres, per exemple el groc, només fa falta barrejar en igual valor els colors verd i blau per aconseguir així el color groc. En el cas que es vulgues un groc més intens, seria suficient en augmentar els valors del verd i reduir els del blau.
Cal destacar també, que no per posar un valor gran de verd i posar el mateix valor de blau, sortirà un groc més intens. En aquest aspectes es podria dir que sempre que el valor dels dos píxels siguin iguals, tant si tenen un valor de 20 o si tenen el valor de 240, el color serà el mateix en els dos casos, ja que la quantitat de intensitat que se li dona a ambdós colors és la mateixa.

## Girs d'imatges

Un cop tenim definida la matriu de la imatge que es vol girar, el gir es pot fer amb dos simples operacions amb matrius. En el cas que es volgués aconseguir la imatge simètrica a la que es té, seria tant senzill com multiplicar la matriu de la imatge original per la matriu amb la anti-diagonal (la diagonal secundària) plena d'uns. Així s'aconseguiria la imatge simètrica a la original.
En el cas que el que es volgués es girar la imatge simètrica de la original, s'obté la simètrica de la manera explicada anteriorment, i després es transposa la matriu obtinguda. D'aquesta manera s'obtindria la imatge simètrica girada.
Aplicant aquestes dos operacions (multiplicar per diagonal d'uns i transposar la matriu) es poden obtenir tots els girs que se li poden fer a una imatge.

## Altres operacions amb la matriu d'una imatge

Bàsicament al realitzar altres operacions amb la matriu d'una imatge, s'obté com a resultat els filtres que se l'hi poden aplicar a una imatge. A continuació s'expliquen els més importants.

### Passar una imatge a escala de grisos

Per passar una imatge a escala de grisos, s'agafen els valors RGB de cada píxel de la matriu i es fa una mitjana aritmètica de tots ells, aconseguint així que tots els colors s'anivellin i per tant, anul·lin. Per tant, el que s'aconsegueix es una imatge en escala de grisos.

### Invertir colors

Per invertir els colors d'una imatge (o fer el negatiu), s'agafa la matriu d'una imatge completament en blanc i se li resta la matriu corresponent a la imatge que se li vol fer el negatiu. D'aquesta manera obtenim de cada píxel que forma la imatge el seu color negatiu, i per tant, la imatge en negatiu corresponent.

### Modificar només un color

En el cas que es vulgui prescindir d'un color o augmentar-ne d'intensitat, s'ha de sumar la matriu original amb el vector de forma (x,0,0) en el cas de que es volgués modificar el color vermell, amb el vector (0,x,0) si el que es vol modificar és el verd i amb el vector (0,0,x) si és el blau el que es vol modificar. El valor x pot prendre valors negatius per a aconseguir reduir la intensitat del color.

### Brillantor

En el cas que vulguesim modificar un color, el que feiem era augmentar el valor del component del vector corresponent al color que voliem ressaltar. Com que en aquest cas el que volem és augmentar o disminuir la brillantor d'una imatge, el que ens interessa fer és augmentar el valor de tots els píxels, per tant hem de sumar a la matriu original el vector (x,x,x) sent x el augment o reducció de brillantor que li volem donar. Novament el valor de x pot ser negatiu per a reduir el valor de la brillantor.

### Contrast

El contrast és la quantitat de diferencia que hi ha entre les zones clares i les fosques. Per a modificar-lo s'utilitza la següent fórmula:
$Fc={\frac {259(p+255)}{255(259-p)}}$
On Fc és el factor de contrast i p pot prendre valors entre -255 i 255.
Que la p estigui dins aquest rang de valors, provoca que Fc pugui tenir un valor entre 0 i 127, que és la quantitat de contrast que se li vol donar a la fotografia inicial.
Seguidament s'aplica aquesta formula:
$Fc[(R_{i,j,}G_{i,j,}B_{i,j,})-(128,128,128)]+(128,128,128)$
On el vector RGb és la imatge original i Fc el mateix factor de contrast calculat anteriorment.

## Altres aplicacions

Les matrius obtingudes d'una imatge digital, no només serveixen per a modificar-la com vulguem, també tenen altres utilitats.
Una de les més utilitzades és amb les càmeres de seguretat. Aquestes cada X temps, prenen la fotografia de la zona vigilada i la transformen a matriu. Aquesta matriu la compren amb la que tenen registrada anteriorment, i si detecten alguna anomalia, aquestes s'activen i avisen que alguna cosa ha passat en aquella zona.
Com és obvi, la diferencia entre matrius ha de ser notable, ja que si es prengués cada canvi, per mínim que fos, com a anomalia, només una mica de canvi en la il·luminació, o la presencia d'una mosca, activarien la alarma, cosa que no tindria cap mena de sentit.