A matlabban lévő képek kezelése, bemenet

A kép digitális formában az űrlap mátrixa [1]:

ahol f (1,1) a kép pixelének fényereje.

Ebben a laborban a féltónusú képeket a kényelem érdekében fontolóra veszi. A féltónusú képek az uint8 vagy uint16 osztály mátrixai. Ha az osztályba uint8 kép, akkor a fénysűrűség értékei a [0 255] intervallumon vannak megadva, ha uint16 a [0 65535]

Mivel a Matlab elég nagy számú parancsot tartalmaz a képkezeléshez, csak a legfontosabbakat veszi figyelembe.

I / O és képfelvétel

A képbevitel az imread funkcióval történik

ahol f az a változó, amely a képelemek mátrixát tárolja, az elérési út a grafikus fájl helye a számítógépen.

A kép megjelenítéséhez a képernyőn használja az imshow (A) funkciót, ahol A a letöltött kép képpontmátrixa.

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

Az utolsó parancs végrehajtásának eredménye az ablak kimenete a betöltött képen.

A matlabban lévő képek kezelése, bemenet

5. ábra - ablak, amelyen megjelenik a kép a képernyőn

Ne feledje, hogy szükség van több kép megjelenítésére a képernyőn, mielőtt az új hívást az imshow funkcióra beírja, a kulcsszószámot új kimeneti ablak létrehozásához kell megadnia.

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

A matlabban lévő képek feldolgozása, bemenet
A matlabban lévő képek feldolgozása, bemenet

6. ábra - Több kép megjelenítése a képernyőn

A kép mentéséhez használja az imwrite (f, pálya) funkciót, ahol f az elmentendő kép, az elérési út a teljes fájlnév.

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

Érdemes megjegyezni, hogy a megjelenített kép vagy grafikon könnyen menthető a megjelenő ablak Fájl / Mentés másként kiválasztásával

Kép hisztogram készítése

A kép hisztogram jelenik meg az imhiszt funkció használatával,

h = imhiszt (kép, b)

ahol h a kép eredményezett hisztogramja, a kép a kép, b a hisztogram létrehozásához használt kosarak száma (alapértelmezett: 256) [1].

A kép hisztogramja a képminőség javítása érdekében kiegyenlítési eljárásnak vethető alá. Hisztogram EQ - a műveletet, amely magában foglalja a kép dinamikus tartományának növelését, a histeq függvény használatával történik.

g = histeq (kép, nlev).

ahol g az egyenlített hisztogram, a kép az eredeti kép, a nlev a kimeneti kép által beállított intenzitásszintek száma [1].

imshow (f)% Az eredeti képet jelenítse meg a képernyőn

ábra, imhiszt (f); % Megjeleníti a kép hisztogramját

f1 = histeq (f, 256); % Új kép készítése egy kiegyenlített hisztogrammal

ábra, imshow (f1)% Megjeleníti a továbbfejlesztett képet

ábra, imhiszt (f1)% Megjeleníti a kiegyenlített hisztogramot

A fenti példában a kép dinamikus tartományát 256-ra bővítették. Az eredeti kép hisztogramjának kiegyenlítésével javult a minősége, amint az a 7. ábrán látható

A matlabban lévő képek feldolgozása, bemenet
A matlabban lévő képek feldolgozása, bemenet

7. ábra - Forráskép és hisztogramja

A matlabban lévő képek kezelése, bemenet
A matlabban lévő képek feldolgozása, bemenet

8. ábra - Javított kép és hisztogramja

A képek csonkolása és geometriai átalakítása

A kép csonkolásához a műveletet arra használjuk, hogy kiválasszuk a tömb elemeit egy bizonyos tartományban magasságban és szélességben. Ie A mátrix indexeléssel kapcsolatos szabványműveletet használják. Például:

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

A matlabban lévő képek kezelése, bemenet
A matlabban lévő képek kezelése, bemenet

9. ábra - A kép előtti és utáni csonkolás

A képméret megváltoztatásához használja az imresize funkciót, amelynek szintaxisa:

image = imresize (kép, [sor oszlopok])

ahol a kép az eredeti kép, a [sorok oszlopai] egy tömb, amely a végső kép magasságát és szélességét tárolja.

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

f1 = imresize (f, [256 256]);

A kép forgatását az imrotate függvény valósítja meg, amely a következő szintaxissal rendelkezik:

Image = imrotate (kép, szög)

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

f1 = imrotát (f, 30);

A matlabban lévő képek kezelése, bemenet

10. ábra - A kép forgatása 30 fokkal

Zajcsökkentés

Több zaj is van, amellyel kép károsodást okozhat, például a "Só és bors" zaj, a Gauss-zaj és a foltos zaj.

A zajos képek a funkció használatával készülnek

Image = imnoise (kép, `zaj típusa ', káros hatás szintje)

A zaj típusa a következő értékeket veheti igénybe:

· Só bors "

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

>> f1 = imnoise (f, 'só bors, 0,1); % Alkalmazzanak zajt az eredeti képre

A matlabban lévő képek feldolgozása, bemenet

11. ábra - A kép zajja

Kapcsolódó cikkek