Lucrul cu imaginile din matlab, intrare

Imaginea în formă digitală este o matrice a formei [1]:

unde f (1,1) este luminozitatea pixelului imaginii.

În acest laborator, imagini de jumătate de tonă vor fi luate în considerare pentru comoditate. Imaginile din haltă sunt matrici ale clasei uint8 sau uint16. Dacă o imagine a clasei uint8, atunci valorile ei de luminanță sunt definite pe intervalul [0 255], dacă uint16 este pe intervalul [0 65535]







Deoarece Matlab conține un număr suficient de mare de comenzi pentru a lucra cu imaginea, doar câteva dintre cele principale vor fi luate în considerare.

I / O și înregistrarea imaginilor

Introducerea imaginii este realizată utilizând funcția imread

unde f este variabila care stocheaza matricea elementelor de imagine, calea este locatia fisierului grafic pe computer.

Pentru a afișa imaginea pe ecran, utilizați funcția imshow (A), unde A este matricea pixelilor imaginii descărcate.

>> f = imread (`F: /Images/boat.jpg ');

Rezultatul executării ultimei comenzi este ieșirea ferestrei cu imaginea încărcată.

Lucrul cu imaginile din matlab, intrare

Figura 5 - fereastra care afișează imaginea pe ecran

Rețineți că, dacă este necesar să afișați mai multe imagini pe ecran, înainte de a efectua un nou apel la funcția imshow, trebuie să scrieți figura cuvintelor cheie pentru a forma o nouă fereastră de ieșire.

>> f1 = imread (`F: /Images/boat.jpg ');

Lucrul cu imaginile din matlab, intrare
Lucrul cu imaginile din matlab, intrare

Figura 6 - Afișarea mai multor imagini pe ecran

Pentru a salva imaginea, utilizați funcția imwrite (f, cale), unde f este imaginea care trebuie salvată, calea este numele întregului fișier.

>> f = imread (`F: /Images/boat.jpg ');

Este de remarcat faptul că imaginea sau graficul afișat pot fi ușor salvate selectând File / Save As din fereastra care apare

Construirea unei histograme a imaginii

Histograma imaginii este afișată utilizând funcția imhistă,

h = imhist (imagine, b)

unde h este histograma rezultată a imaginii, imaginea este imaginea, b este numărul de coșuri folosite pentru a forma histograma (implicit este 256) [1].

Histograma imaginii poate fi supusă unei proceduri de egalizare pentru a îmbunătăți calitatea imaginii. Histogram EQ - operația, care presupune creșterea intervalului dinamic al imaginii, este realizată utilizând funcția histeq.







g = histeq (imagine, nlev).

unde g este histograma egalizată, imaginea este imaginea originală, nlev este numărul de nivele de intensitate stabilite de imaginea de ieșire [1].

imshow (f)% Afișați imaginea originală pe ecran

figura, imhist (f); % Afișează histograma imaginii

f1 = histeq (f, 256); % Obținerea unei imagini noi cu o histogramă egalizată

figura, imshow (f1)% Afișează imaginea îmbunătățită

figura, imhist (f1)% Afișează histograma egalizată

În exemplul de mai sus, intervalul dinamic al imaginii a fost extins la 256. Ca urmare a egalizării histogramei imaginii originale, calitatea sa a fost îmbunătățită, după cum se vede clar în Figura 7

Lucrul cu imaginile din matlab, intrare
Lucrul cu imaginile din matlab, intrare

Figura 7 - Imaginea sursă și histograma sa

Lucrul cu imaginile din matlab, intrare
Lucrul cu imaginile din matlab, intrare

Figura 8 - Imagine îmbunătățită și histograma acesteia

Trunchierea și transformările geometrice ale imaginilor

Pentru a trunchia o imagine, operația este utilizată pentru a selecta elementele matricei într-un anumit interval în înălțime și lățime. Ie Se folosește operația standard asociată indexării matricei. De exemplu:

>> f = imread ('F: / Imagini /boat.jpg');

Lucrul cu imaginile din matlab, intrare
Lucrul cu imaginile din matlab, intrare

Figura 9 - Imaginea înainte și după trunchiere

Pentru a modifica dimensiunea imaginii, utilizați funcția imresize a cărei sintaxă este:

image = imresize (imagine, [coloane de rânduri])

unde imaginea este imaginea originală, [coloanele rândurilor] reprezintă o matrice care stochează înălțimea și lățimea imaginii finale.

>> f = imread ('F: / Imagini /boat.jpg');

f1 = imrează (f, [256 256]);

Rotația imaginii este realizată de funcția imrotate, care are următoarea sintaxă:

Image = imrotate (imagine, unghi)

>> f = imread ('F: / Imagini /boat.jpg');

f1 = imrotat (f, 30);

Lucrul cu imaginile din matlab, intrare

Figura 10 - Rotirea imaginii la 30 de grade

Reducerea zgomotului

Există mai multe zgomote, cu care poți să faci pagube de imagine, cum ar fi zgomotul "Sare și piper", zgomotul Gaussian și zgomotul de cenușă.

Imaginile zgomotoase sunt realizate folosind funcția

Image = imnoise (imagine, tip de zgomot, nivel de efect dăunător)

Tipul de zgomot poate lua următoarele valori:

· "Sare piper "

>> f = imread ('F: /M/boat.jpg');

>> f1 = imnoise (f, 'sare piper ", 0,1); % Aplicați zgomot imaginii originale

Lucrul cu imaginile din matlab, intrare

Figura 11 - Zgomotul imaginii







Articole similare

Trimiteți-le prietenilor: