Uvod12345

Uvod u operacije sa slikama u Matlabu

Image Processing toolbox

U Image Processing toolboxu nalaze se funkcije specijalizovane za ulazno-izlazne operacije, prikazivanje i obradu slika. Da biste vidjeli listu svih funkcija u ovom toolboxu otkucajte help images u Matlab komandnoj liniji. Vidimo da je na raspolaganju veliki broj funkcija. Mi ćemo se u okviru laboratorijskih vježbi iz Digitalne obrade slike dotaći samo nekih.

Reprezentacija slike u memoriji

Matlab memoriše sliku kao matricu. Svakom pikselu na slici odgovara jedan element matrice. Elementi matrice mogu biti klase double što znači da se svaki pamti kao 64-bitni broj u plivajućem zarezu. Međutim, na ovaj način slike mogu zauzimati izuzetno mnogo memorije. Npr. slika dimenzija 1000x1000 zahtijevala bi oko 8 megabajta prostora. Zbog toga je u Matlabu uvedena i klasa uint8 koja omogućava da se svaki element matrice (piksel) memoriše kao 8-bitni cijeli broj.

Podržana su četiri osnovna tipa slika koji se javljaju i u poznatim rasterskim grafičkim programima kao što su Adobe Photoshop i PaintShop Pro.

  1. Indeksirane slike
  2. Intenzitetske slike
  3. Binarne slike
  4. RGB slike
Ovi tipovi ne ograničavaju vrijednosti u slikama koje se mogu podvrgavati različitim operacijama u Matlabu već samo utiču na način prikazivanja slika. Izuzetak su slike klase uint8. Da biste saznali ponešto o njihovim specifičnostima otkucajte help uint8.

Indeksirane slike

Indeksirane slike se memorišu kao dvije matrice, matrica slike i kolormapa. Kolormapa sadrži vrijednosti koje predstavljaju boje piksela u slici. Matrica slike za svaki piksel sadrži indeks elementa u kolormapi koji predstavlja boju tog elementa.

Kolormapa je matrica klase double dimenzija m x 3. Svaka vrsta kolormape sadrži vrijednosti crvene (R), zelene (G) i plave (B) komponente određene boje. R, G i B su realni skalari čije su vrijednosti iz opsega od 0 (crna) do 1.0 (pun intenzitet).

Elementi matrice slike mogu biti klase double ili uint8. Ukoliko se radi o klasi uint8 onda reprezentacija slike odgovara standardnoj reprezentaciji 8-bitnih indeksiranih slika u grafičkim fajlovima.

Intenzitetske slike

Matlab čuva intenzitetsku sliku kao jednu matricu u kojoj svaki element odgovara jednom pikselu slike. Matrica može biti klase double u kom slučaju su njeni elementi iz opsega [0,1] ili klase uint8 sa elementima iz opsega [0,255]. Elementi matrice predstavljaju intenzitet (nivo sivila) pojedinih piksela, gdje vrijednost 0 odgovara crnoj, a 1 (odnosno 255) punom intenzitetu, tj. bijeloj boji.

Binarne slike

U binarnoj slici svaki piksel može poprimiti jednu od dvije moguće vrijednosti. Ove vrijednosti mogu se tumačiti kao objekat i kao pozadina. Matlab binarnu sliku memoriše kao matricu čiji elementi su 0 (pozadina) i 1 (objekat). Jasno, binarna slika može se posmatrati kao specijalan slučaj intenzitetske slike sa samo dva nivoa intenziteta.

Elementi matrice mogu biti klase double ili klase uint8. Sa stanovišta utroška memorije daleko je povoljnije korišćenje klase uint8. Pomoću jedne logičke promjenljive Matlab vodi računa o tome da li se radi o binarnoj slici, tj. kako treba interpretirati elemente matrice.

RGB slike

Kao kod indeksiranih slika i kod RGB slika se boja piksela određuje na osnovu tri komponente R, G i B. Međutim, za razliku od indeksiranih slika kod koji se vrijednosti ovih komponenti čuvaju u posebnoj kolormapi, kod RGB slika one se pamte u samoj matrici slike.

Dakle, matrica slike je dimenzija m x n x 3, gdje sum i n broj vrsta, odnosno kolona matrice slike. Može se smatrati da se treća dimenzija sastoji od tri ravni čijom kombinacijom se dobijaju boje piksela.

Matlab omogućava konverzije između različitih tipova slika. Za više informacija pogledati funkcije iz sekcije Image types and type conversions u Image Processing Toolboxu.

Koordinatni sistemi

U zavisnosti od situacije lokacije piksela na slici mogu se odrediti različitim koordinatnim sistemima. Image Processing Toolbox koristi dva koordinatna sistema:

Koordinatni sistem piksela

U ovom koordinatnom sistemu slika se postmatra kao rešetka sa diskretnim elementima uređenim odozgo prema dole i sa lijeva u desno, kao na slici.

Očigledno, postoji jednoznačna korespondencija između ovako definisanih koordinata piksela i indeksa elemenata matrice u Matlabu.

Prostorni koordinatni sistem

U koordinatnom sistemu piksela pikseli se posmatraju kao diskretni elementi koji nemaju dimenzija. Pojedinim pikselima pristupa se navodjenjem njihovih koordinata koje su cjeli brojevi, npr. (2,3). Koordinate (2.3,3.4) nemaju smisla.

Ponekad je međutim pogodno piksel posmatrati kao kvadratnu oblast koja ima neku konačnu površinu. Sada pozicija (2.3,3.4) ima smisla i različita je od pozicije (2,3). Prostorni koordinatni sistem ilustrovan je sledećom slikom:

Vidimo da su koordinate centra svakog piksela u prostornom koordinatnom sistemu iste kao i koordinate tog piksela u koordinatnom sistemu piksela. Sa druge strane, razlikuju se ishodišta koordinatnih sistema, kao i redoslijed horizontalne i vertikalne koordinate.

Uvod12345