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.
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 ');
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ó
7. ábra - Forráskép és hisztogramja
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');
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);
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
11. ábra - A kép zajja