Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 10
  • Metode segmentacije slike. Proučavanje metoda segmentacije na slikama modela

Metode segmentacije slike. Proučavanje metoda segmentacije na slikama modela

Ovo sam ljeto imao sreću dobiti ljetnu praksu u tvrtki Itseez . Zamoljen sam da istražim modernim metodama, što bi nam omogućilo da istaknemo položaje objekata na slici. U suštini, takve metode se oslanjaju na segmentaciju, tako da sam svoj rad započeo upoznavanjem ovog područja računalni vid.
Segmentacija slike - Ovo je podjela slike na mnogo područja koja je pokrivaju. Segmentacija se koristi u mnogim područjima, na primjer, u proizvodnji za označavanje nedostataka tijekom sastavljanja dijelova, u medicini za primarnu obradu slika, a također i za sastavljanje karata terena iz satelitskih slika. Za one koji žele razumjeti kako takvi algoritmi rade, dobrodošli na cat. Pogledat ćemo nekoliko metoda iz knjižnice računalnog vida OpenCV .

Algoritam segmentacije po slivu (WaterShed)


Algoritam radi sa slikom kao funkcijom dviju varijabli f=I(x,y) , Gdje x,y – koordinate piksela:


Vrijednost funkcije može biti intenzitet ili veličina gradijenta. Za najveći kontrast možete uzeti gradijent sa slike. Ako uzduž osi OZ Pri ucrtavanju apsolutne vrijednosti gradijenta na mjestima gdje postoji razlika u intenzitetu formiraju se grebeni, a u homogenim područjima ravnice. Nakon pronalaska minimuma funkcije f , u tijeku je proces punjenja “vodom” koji počinje od globalnog minimuma. Čim razina vode dosegne sljedeći lokalni minimum, počinje se puniti vodom. Kada se dvije regije počnu spajati, gradi se particija kako bi se spriječilo spajanje regija. Voda će nastaviti rasti sve dok regije ne budu odvojene samo umjetno izgrađenim pregradama (slika 1).




Sl. 1. Ilustracija procesa punjenja vodom

Takav algoritam može biti koristan ako slika mali broj lokalnih minimuma, ali u slučaju njihovog velikog broja dolazi do pretjerane podjele na segmente. Na primjer, ako izravno primijenimo algoritam na Sl. 2, dobivamo mnogo malih detalja na sl. 3.


Riža. 2. Izvorna slika


Riža. 3. Slika nakon segmentacije algoritmom WaterShed

Kako se nositi s malim detaljima?

Da biste se riješili viška sitnih detalja, možete definirati područja koja će biti vezana uz najbliži minimum. Particija će biti izgrađena samo ako se spoje dvije regije s markerima, inače će se ti segmenti spojiti. Ovaj pristup uklanja učinak suvišne segmentacije, ali zahtijeva prethodnu obradu slike za odabir markera koji se mogu interaktivno označiti na slici na slici. 4, 5.


Riža. 4. Slika s markerima


Riža. 5. Slika nakon segmentacije algoritmom WaterShed pomoću markera

Ako želite djelovati automatski bez intervencije korisnika, možete koristiti, na primjer, funkciju pronađi konture() za isticanje markera, ali i ovdje za bolju segmentaciju treba isključiti male konture Sl. 6., na primjer, uklanjajući ih duž praga duž duljine konture. Ili upotrijebite eroziju s dilatacijom za uklanjanje sitnih detalja prije isticanja kontura.


Riža. 6. Konture s duljinom iznad određenog praga korištene su kao oznake


Kao rezultat algoritma dobivamo masku sa segmentiranom slikom, gdje su pikseli jednog segmenta označeni istom oznakom i tvore povezano područje. Glavni nedostatak ovog algoritma je korištenje postupka prethodne obrade za slike sa veliki iznos lokalni minimumi (slike složene teksture i obilje različitih boja).

Mat slika = imread("coins.jpg", CV_LOAD_IMAGE_COLOR); // odabir kontura Mat imageGray, imageBin; cvtColor(image, imageGray, CV_BGR2GRAY); prag(imageGray, imageBin, 100, 255, THRESH_BINARY); std::vektor >konture; std::vektor hijerarhija findContours(imageBin, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE); Oznake za prostirke (image.size(), CV_32SC1); markeri = Scalar::all(0); int compCount = 0; for(int idx = 0; idx >= 0; idx = hierarchy, compCount++) ( drawContours(markers, contours, idx, Scalar::all(compCount+1), -1, 8, hierarchy, INT_MAX); ) std: :vektor colorTab(compCount); for(int i = 0; i< compCount; i++) { colorTab[i] = Vec3b(rand()&255, rand()&255, rand()&255); } watershed(image, markers); Mat wshed(markers.size(), CV_8UC3); for(int i = 0; i < markers.rows; i++) { for(int j = 0; j < markers.cols; j++) { int index = markers.at(i J); if(indeks == -1) opran.at (i, j) = Vec3b(0, 0, 0); else if (index == 0) washed.at (i, j) = Vec3b(255, 255, 255); drugo oprano.at (i, j) = kartica boja; ) ) imshow("razvodna transformacija", wshed); čekajKljuč(0);

Algoritam segmentacije MeanShift

MeanShift grupira objekte sličnih karakteristika. Pikseli sličnih značajki kombiniraju se u jedan segment, a izlaz je slika s homogenim područjima.


Na primjer, kao koordinate u prostoru značajki možete odabrati koordinate piksela (x, y) i komponente RGB piksel. Iscrtavanjem piksela u prostoru značajki možete vidjeti nakupine na određenim mjestima.

Riža. 7. (a) Pikseli u 2D prostoru značajki. (b) Pikseli koji stignu do istog lokalnog maksimuma obojeni su istom bojom. (c) - funkcija gustoće, maksimumi odgovaraju mjestima najveće koncentracije piksela. Slika je preuzeta iz članka.

Radi lakšeg opisa kondenzacija točaka uvodimo funkcija gustoće :
– vektor obilježja ja -ti piksel, d - broj znakova, N - broj piksela, h - parametar odgovoran za glatkoću je kernel. Maksimumi funkcije nalaze se u točkama kondenzacije slikovnih piksela u prostoru značajki. Pikseli koji pripadaju istom lokalnom maksimumu kombiniraju se u jedan segment. Ispostavilo se da, kako biste pronašli kojem od koncentracijskih centara piksel pripada, morate koračati duž gradijenta kako biste pronašli najbliži lokalni maksimum.

Procjena gradijenta iz funkcije gustoće

Vektor srednjeg pomaka može se koristiti za procjenu gradijenta funkcije gustoće
Epanechnikov kernel se koristi kao kernel u OpenCV-u:


- ovo je volumen d -dimenzionalna sfera s jediničnim radijusom.


znači da zbroj ne ide preko svih piksela, već samo preko onih koji padaju u sferu s polumjerom h sa središtem u točki gdje vektor pokazuje u prostoru obilježja. Ovo je uvedeno posebno kako bi se smanjio broj izračuna. - volumen d -dimenzionalna sfera s radijusom h. Možete zasebno postaviti radijus za prostorne koordinate i posebno radijus u prostoru boja. - broj piksela koji padaju u sferu. Veličina može se smatrati procjenom vrijednosti u regiji.


Stoga, za hodanje duž gradijenta, dovoljno je izračunati vrijednost - srednji vektor pomaka. Treba imati na umu da će srednji vektor pomaka izgledati drugačije ako odaberete drugu jezgru.


Prilikom odabira koordinata piksela i intenziteta boja kao značajki, pikseli sličnih boja koji se nalaze blizu jedni drugih kombinirat će se u jedan segment. U skladu s tim, ako odaberete drugačiji vektor značajki, pikseli će se pomoću njega kombinirati u segmente. Na primjer, ako uklonimo koordinate iz obilježja, tada će se nebo i jezero smatrati jednim segmentom, budući da bi pikseli ovih objekata u prostoru obilježja pali u jedan lokalni maksimum.

Ako se objekt koji želimo odabrati sastoji od područja koja se jako razlikuju po boji, tada MeanShift neće moći spojiti ove regije u jednu, a naš će se objekt sastojati od nekoliko segmenata. Ali dobro je nositi se s objektom jednolike boje na šarolikoj pozadini. Više MeanShift koristi se pri implementaciji algoritma za praćenje pokretnih objekata.

Primjer koda za pokretanje algoritma:

Mat slika = imread("jagoda.jpg", CV_LOAD_IMAGE_COLOR); Mat imageSegment; int prostorni radijus = 35; int radijus boje = 60; int razine piramide = 3; pyrMeanShiftFiltering(image, imageSegment, spatialRadius, colorRadius, pyramidLevels); imshow("MeanShift", imageSegment); čekajKljuč(0);
Proizlaziti:


Riža. 8. Izvorna slika


Riža. 9. Nakon segmentacije algoritmom MeanShift

Algoritam segmentacije FloodFill

Pomoću FloodFill(metoda punjenja ili "poplave") možete odabrati područja jednolike boje. Da biste to učinili, morate odabrati početni piksel i postaviti interval za promjenu boje susjednih piksela u odnosu na izvorni. Interval također može biti asimetričan. Algoritam će kombinirati piksele u jedan segment (ispunjavajući ih istom bojom) ako su unutar navedenog raspona. Ishod će biti segment ispunjen određenom bojom i njegova površina u pikselima.

Ovaj algoritam može biti koristan za ispunjavanje područja s malim razlikama u boji jednoličnom pozadinom. Jedan slučaj upotrebe FloodFill Možda je moguće identificirati oštećene rubove predmeta. Na primjer, ako ispunjavanjem homogenih područja određenom bojom algoritam ispunjava i susjedna područja, tada je narušena cjelovitost granice između tih područja. Na donjoj slici možete vidjeti da je cjelovitost granica ispunjenih područja očuvana:

Riža. 10, 11. Izvorna slika i rezultat nakon popunjavanja nekoliko područja

A sljedeće slike prikazuju opciju rada FloodFill ako je jedna od granica na prethodnoj slici oštećena.


Riža. 12, 13. Ilustracija djela FloodFill kada je povrijeđen integritet granice između ispunjenih područja

Primjer koda za pokretanje algoritma:

Mat slika = imread("trešnja.jpg", CV_LOAD_IMAGE_COLOR); Point startPoint; startPoint.x = image.cols/2; startPoint.y = image.rows/2; Skalarni loDiff(20, 20, 255); Skalar upDiff(5, 5, 255); Skalarna boja ispune(0, 0, 255); int susjedi = 8; Rect domena; int area = floodFill(image, startPoint, fillColor, &domain, loDiff, upDiff, susjedi); pravokutnik(slika, domena, skalar(255, 0, 0)); imshow("floodFill segmentacija", slika); čekajKljuč(0);
Na varijablu područje Zabilježit će se broj "ispunjenih" piksela.
Proizlaziti:


Algoritam segmentacije GrabCut

Ovo je interaktivni algoritam za odabir objekta, razvijen kao prikladnija alternativa magnetskom lasu (da bi odabrao objekt, korisnik je trebao pratiti njegov obris mišem). Za rad algoritma dovoljno je objekt zajedno s dijelom pozadine zatvoriti u pravokutnik (grab). Objekt će se automatski segmentirati (izrezati).


Segmentacija može biti teška ako unutar graničnog okvira postoje boje koje se pojavljuju velike količine ne samo u objektu, nego i u pozadini. U tom slučaju možete dodati dodatne oznake objekta (crvena linija) i pozadinu (plava linija).


Razmotrimo ideju algoritma. Osnova je algoritam interaktivne segmentacije GraphCut, gdje korisnik treba staviti oznake na pozadinu i na objekt. Slika se tretira kao niz .Z - vrijednosti intenziteta piksela, N -ukupni broj piksela. Za odvajanje objekta od pozadine, algoritam određuje vrijednosti elemenata niza prozirnosti i može uzeti dvije vrijednosti ako = 0 , tada piksel pripada pozadini ako = 1 , zatim objekt. Interni parametar sadrži histogram raspodjele intenziteta prvi plan i pozadinski histogram:
.
Zadatak segmentacije je pronaći nepoznanice. Energetska funkcija se smatra:

Štoviše, minimalna energija odgovara najboljoj segmentaciji.


V(a,z) - pojam je odgovoran za vezu između piksela. Zbroj ide preko svih parova piksela koji su susjedi, dis(m,n) - Euklidska udaljenost. odgovoran je za sudjelovanje parova piksela u ukupnom if a n = a m , tada ovaj par neće biti uzet u obzir.
- odgovoran je za kvalitetu segmentacije, tj. odvajanje objekta od pozadine.

Pronašavši globalni minimum energetske funkcije E , dobivamo niz prozirnosti. Kako bi se minimizirala funkcija energije, slika je opisana kao graf i traži se minimalni rez grafa. Za razliku od GraphCuta u algoritmu GrabCut pikseli se razmatraju u RGB prostoru, pa se za opisivanje statistike boja koristi Gaussov model mješavine (GMM). Rad algoritma GrabCut možete vidjeti pokretanjem uzorka OpenCV

Jedan od glavnih zadataka obrade i analize slike je segmentacija, tj. dijeljenje slike na područja za koja je zadovoljen određeni kriterij homogenosti, na primjer, isticanje područja približno iste svjetline na slici. Koncept područja slike koristi se za definiranje koherentne skupine elemenata slike koji imaju određenu zajednička značajka(vlasništvo).
Jedan od glavnih i jednostavnih načina- ovo je konstrukcija segmentacije pomoću praga. Prag je znak (svojstvo) koji pomaže podijeliti željeni signal u klase. Operacija dijeljenja praga je usporedba vrijednosti svjetline svakog piksela na slici dana vrijednost prag.
Binarizacija

Operacija određivanja praga koja rezultira binarnom slikom naziva se binarizacija. Svrha operacije binarizacije je radikalno smanjiti količinu informacija sadržanih u slici. U procesu binarizacije, izvorna polutonska slika, koja ima određeni broj razina svjetline, pretvara se u crno-bijela slika, čiji pikseli imaju samo dvije vrijednosti – 0 i 1

Prag slike može se izvršiti na različite načine.

Binarizacija s nižim pragom
Binarizacija s nižim pragom
Binarizacija s nižim pragom je najjednostavnija operacija koja koristi samo jednu vrijednost praga:

Sve vrijednosti postaju 1 umjesto kriterija, u u ovom slučaju 255 (bijelo) i sve vrijednosti piksela (amplitude) koje su veće od praga t - 0 (crno).

Binarizacija s gornjim pragom
Ponekad možete koristiti varijantu prve metode, koja proizvodi negativ slike dobivene postupkom binarizacije. Operacija binarizacije s gornjim pragom:

Binarizacija s dvostrukim ograničenjem
Kako bi se istaknula područja u kojima vrijednosti svjetline piksela mogu varirati unutar poznatog raspona, uvodi se binarizacija s dvostrukim ograničenjem (t 1
Moguće su i druge varijante s pragovima, kroz koje prolazi samo dio podataka (filtar srednjeg pojasa).

Nepotpuni prag
Ova transformacija proizvodi sliku koju je možda lakše dalje analizirati jer postaje lišena pozadine sa svim detaljima prisutnima na izvornoj slici.

Višerazinska transformacija praga
Ova operacija formira sliku koja nije binarna, već se sastoji od segmenata različite svjetline.

Što se tiče binarizacije, to je u biti to. Iako možemo dodati da postoji globalni, koji se koristi za cijelu sliku, a postoji i lokalni, koji snima dio slike (slike).

Lokalni prag
Otsa metoda
Metoda koristi histogram raspodjele vrijednosti svjetline piksela rasterske slike. Histogram se konstruira pomoću vrijednosti p i =n i /N, gdje je N ukupan broj piksela na slici, n i je broj piksela s razinom svjetline i. Raspon svjetline podijeljen je u dvije klase pomoću praga razine svjetline k,k - cjelobrojne vrijednosti od 0 do L. Svaka klasa odgovara relativnim frekvencijama ω 0 ω 1:

Prosječne razine za svaku od dvije klase slika:
Zatim se izračunava maksimalna vrijednost za ocjenu kvalitete dijeljenja slike na dva dijela:
gdje je (σ cl)2=ω 0 ω 1 (μ 1 -μ 0) 2 međuklasna varijanca, a (σ total) 2 ukupna varijanca za cijelu sliku.

Prag na temelju gradijenta svjetline slike
Pretpostavimo da se analizirana slika može podijeliti u dvije klase - objekte i pozadinu. Algoritam za izračun vrijednosti praga sastoji se od sljedeća 2 koraka:
1. Modul gradijenta svjetline određuje se za svaki piksel
Slike

2. Izračun praga:
Ukupno
Ono što sam pronašao rado sam podijelio s vama, u budućnosti ću, ako uspijem i budem imao vremena, pokušati implementirati neke od algoritama. Ovo je samo mali dio svega što danas postoji, ali i ovo rado dijelim.
Hvala vam na pažnji.

Pošaljite svoj dobar rad u bazu znanja jednostavno je. Koristite obrazac u nastavku

Studenti, diplomanti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam vrlo zahvalni.

Objavljeno na http://www.allbest.ru/

Ministarstvo obrazovanja i znanosti Ruske Federacije

Ryazan State Radio Engineering University

Odjel IIBMT

Tečajni rad

Metode obrade slike. Segmentacija

Završen čl. gr. 432M:

Aleshin S.I.

Provjerio izv. prof. odjelu IIBMT:

Kaplan M.B.

Ryazan 2014

Uvod

1. Prezentacija slika

3. Formati slika

4. Vrste slika

5.1 Promjena kontrasta

5.2 Izglađivanje šuma

5.3 Naglašavanje granica

5.4 Srednje filtriranje

5.5 Segmentacija slike

5.5.3 Ocrtavanje

5.5.7 Metode rezanja grafikona

6. Opis funkcija

7. Testiranje algoritma

Zaključak

Primjena

Uvod

Još sredinom 20. stoljeća obrada slike bila je uglavnom analogna i obavljana optičkim uređajima. Takve optičke tehnike i danas su važne, u područjima kao što je holografija. Međutim, s dramatičnim povećanjem performansi računala, te su metode sve više zamjenjivane metodama digitalne obrade slike. Digitalne metode obrade slike općenito su preciznije, pouzdanije, fleksibilnije i lakše ih je implementirati od analognih metoda. Digitalna obrada slike u velikoj mjeri koristi specijalizirani hardver kao što su procesori cjevovoda instrukcija i višeprocesorski sustavi. To posebno vrijedi za sustave za video obradu. Obrada slika također se izvodi pomoću računalnog matematičkog softvera, na primjer, MATLAB, Mathcad, Maple, Mathematica, itd. Za to se koriste i osnovni alati i paketi proširenja za obradu slike.

Zanimanje za digitalne metode obrade slike proizlazi iz dva glavna područja njihove primjene, a to su poboljšanje slike za poboljšanje ljudske vizualne percepcije i obrada slike za pohranu, prijenos i prezentaciju u autonomnim sustavima strojnog vida.

Jedna od najsloženijih metoda digitalne obrade slike je segmentacija slike. Segmentacija je proces dijeljenja digitalne slike u nekoliko segmenata koji se međusobno razlikuju po elementarnim karakteristikama kao što su svjetlina, boja, tekstura, oblik. Svrha segmentacije je pojednostaviti i promijeniti prikaz slike tako da bude jednostavnija i lakša za analizu. Pogrešan odabir segmenata na slici može u konačnici utjecati na kvalitetu prepoznavanja, pa čak i onemogućiti ga. Stoga je zadatak segmentacije iznimno važan i vrlo relevantan.

Postoje mnoge metode segmentacije slike. Konačni rezultat često je određen točnošću segmentacije, pa pri odabiru određene metode segmentacije morate obratiti veliku pozornost na pouzdanost algoritma. Međutim, ne postoji jedinstven, općeprihvaćen pristup koji bi bio temelj većine algoritama. Također ne postoji niti jedan algoritam koji bi omogućio prihvatljivu segmentaciju za bilo koju sliku. To je jedna od teškoća segmentacije i to je razlog velikog broja različitih pristupa rješavanju ovih problema obrade slike.

Unatoč relevantnosti ovog tematskog područja, napisano je relativno malo knjiga koje se bave i teorijskim temeljima i softverskim aspektima rješavanja osnovnih problema segmentacije slike.

U ovom radu prikazane su osnovne metode digitalne obrade slike. Posebna pozornost posvećena je metodama segmentacije slike. Program za jednu od metoda segmentacije implementiran je pomoću MatLAB aplikacijskog paketa.

1. Prezentacija slika

Temeljna pitanja teorije obrade slike su pitanja: oblikovanja, unosa, prikaza u računalu i vizualizacije. Oblik površine može se opisati kao funkcija udaljenosti F(x, y) od površine do točke slike s koordinatama x i y. Uzimajući u obzir da svjetlina točke na slici ovisi isključivo o svjetlini odgovarajuće površine, možemo pretpostaviti da vizualna informacija odražava stanje svjetline ili prozirnosti svake točke s određenim stupnjem točnosti. Tada se slika shvaća kao ograničena funkcija dviju prostornih varijabli f(x, y), definirana na ograničenoj pravokutnoj ravnini Oxy i koja ima određeni skup svojih vrijednosti. Na primjer, crno-bijela fotografija može se predstaviti kao f(x, y)?0, gdje su 0?x?a, 0?y?b i f(x, y) svjetlina (koja se ponekad naziva optička gustoća ili bjelina ) slike u točki (x, y); a - širina okvira, b - visina okvira.

Budući da digitalna memorija računala može pohraniti samo nizove podataka, slika se prvo pretvara u neki numerički oblik (matricu). Slike se unose u memoriju računala pomoću video senzora. Video senzor pretvara optičku distribuciju svjetline slike u električne signale, a zatim u digitalne kodove. Budući da je slika funkcija dviju prostornih varijabli x i y, a električni signal funkcija jedne varijable t (vrijeme), za pretvorbu se koristi skeniranje. Na primjer, pri korištenju televizijske kamere slika se čita red po red, a unutar svakog retka ovisnost svjetline o prostornoj koordinati x pretvara se u proporcionalnu ovisnost amplitude električnog signala o vremenu t. Prijelaz s kraja prethodnog retka na početak sljedećeg događa se gotovo trenutno.

Unos slika u računalo neizbježno uključuje uzorkovanje slika duž prostornih koordinata x i y i kvantiziranje vrijednosti svjetline u svakoj diskretnoj točki. Diskretizacija se postiže pomoću koordinatne mreže koju čine linije paralelne s osi x i y kartezijevog koordinatnog sustava. U svakom čvoru takve rešetke vrši se očitavanje svjetline ili prozirnosti nositelja vizualno percipirane informacije, koja se zatim kvantizira i prikazuje u memoriji računala. Element slike dobiven u procesu uzorkovanja slike naziva se piksel. Za kvalitetan prikaz polutonske slike dovoljno je 28 = 256 razina kvantizacije, tj. 1 piksel slike je kodiran sa 1 bajtom informacija.

Glavne karakteristike slika su:

1. Veličina slike;

2. Dubina boje;

3. Dopuštenje.

2. Kodiranje slike u boji

Boja je pojava koja nastaje međudjelovanjem svjetlosti, predmeta i uređaja (promatrača).

Eksperimentalno je utvrđeno da se svaka boja može prikazati kao zbroj određenih količina triju linearno neovisnih boja.

Tri linearno neovisne boje nazivaju se primarnim bojama.

Oni definiraju koordinatni sustav boja (CCS) ili shemu boja, tj. skup primarnih boja za dobivanje preostalih boja.

Sheme boja podijeljene su u dvije varijante: sheme boja iz emitirane svjetlosti i iz reflektirane svjetlosti.

RGB sustav.

Njegove primarne boje su crvena valne duljine 700 nm, zelena valne duljine 546,1 nm i plava valne duljine 435,8 nm. RGB sustav je aditivan.

U ovom slučaju, ova ili ona boja dobiva se dodavanjem primarnih boja.

CMYK sustav.

Ovaj sustav služi za formiranje boja obojenih nesvjetlećih objekata koji apsorbiraju dio spektra osvijetljene bijele svjetlosti i reflektiraju ostatak zračenja.

CMYK sustav je osnova za tisak u boji.

Temelji se na subtraktivnom CMY modelu (Cyan - cyan, Magenta - magenta, Yellow) - modelu oduzimanja boja. Ovdje još uvijek postoje tri osnovne boje.

Kako bi se poboljšala kvaliteta ispisane slike, sustavu je dodana crna boja.

HSB sustav.

Ovaj se sustav temelji na upotrebi nijansi ili nijansi, zasićenosti i svjetline. Nijansa karakterizira specifičnu nijansu boje, zasićenost - njezin relativni intenzitet, svjetlina boje - količinu crne nijanse za dobivanje tamnije slike.

Varijacija ovog sustava je HSL shema.

3. Formati slika

Danas je u uporabi velik broj različitih formata grafičkih datoteka. Najčešće korišteni formati su TIFF, GIF, JPEG, PNG i BMP.

Format TIFF (Tagget Image Format) jedan je od najpouzdanijih i najsvestranijih formata za pohranu visokokvalitetnih skeniranih slika u boji. Može koristiti kompresiju koristeći LZW algoritam, tj. odnosi se na formate za pohranu slika bez gubitaka.

Format GIF (Graphics Interchange Format) ima paletu boja od 256 boja i koristi LZW algoritam bez gubitaka za kompresiju. Ako je izvorni broj boja veći od 256, tada će se neke informacije o boji izgubiti.

Format JPEG (Join Photographers Expert Group) temelji se na istoimenom algoritmu kompresije slike. To je algoritam kompresije s gubitkom i dizajniran je za pohranu slika u boji s visokim omjerom kompresije. Kada koristite format, možete kontrolirati parametar kvalitete od 0 (maksimalna kompresija) do 100 (maksimalna kvaliteta). Omjer kompresije, ovisno o kvaliteti, je od 10 do 1000. Ovaj format se najčešće koristi za pohranjivanje fotografskih slika u punoj boji koje nisu namijenjene daljnjoj obradi.

PNG format je rasterski format za pohranu grafičkih informacija koji koristi kompresiju bez gubitaka pomoću algoritma Deflate. PNG format je osmišljen kako bi zamijenio stariji i jednostavniji GIF format, te u određenoj mjeri zamijenio mnogo složeniji TIFF format. PNG format prvenstveno je pozicioniran za korištenje na internetu i uređivanje grafike. Ima sljedeće glavne prednosti u odnosu na GIF: gotovo neograničen broj boja na slici; dodatna podrška za alfa kanal; mogućnost gama korekcije; dvodimenzionalno isprepleteno skeniranje.

Format BMP (BitMaP) jedan je od izvornih rasterskih formata operacijskog sustava Windows. Pogodan je za pohranu slika u indeksiranom obliku s paletom do 256 boja i u obliku RGB slika u punoj boji s dubinom boje od 24 bita. Moguće je koristiti RLE algoritam kompresije.

4. Vrste slika

4.1 Dvoslojna (ili monokromatska) slika

U tom slučaju svi pikseli mogu imati samo dvije vrijednosti, koje se obično nazivaju crna (binarna jedinica, ili glavna boja) i bijela (binarna nula, ili boja pozadine).

Svaki piksel na takvoj slici predstavljen je jednim bitom, pa je to najjednostavniji tip slike.

1. Polutonska slika. Takva slika s ljestvicom od 2n razina sastoji se od n-bitnih slojeva.

2. Slika u boji. Takva je slika opisana u jednom od gore navedenih formata.

3. Slika kontinuiranog tona. Ova vrsta slike može imati mnogo sličnih boja (ili polutonova). Kada se susjedni pikseli razlikuju samo za jedan, oku je gotovo nemoguće razlikovati njihove boje. Kao rezultat toga, takve slike mogu sadržavati područja u kojima se oku čini da se boja neprestano mijenja. U ovom slučaju, piksel je predstavljen ili velikim brojem (u slučaju polutona) ili trima komponentama (u slučaju slike u boji). Slike kontinuiranog tona prirodne su ili prirodne (za razliku od umjetnih, umjetnih); Obično se dobivaju snimanjem digitalnim fotoaparatom ili skeniranjem fotografija ili crteža.

4. Slika diskretnog tona (također se naziva sintetička). Obično se ova slika dobiva umjetno. Može imati samo nekoliko boja ili mnogo boja, ali je bez šuma i mrlja prirodne slike. Primjeri takvih slika uključuju fotografije objekata koje je napravio čovjek, strojeva ili mehanizama, stranice teksta, karte, crteže ili slike na zaslonu računala. (Neće svaka umjetna slika nužno biti diskretnog tona. Računalno generirana slika koja bi trebala izgledati prirodno imat će kontinuirane tonove unatoč svom umjetnom podrijetlu.) Umjetni objekti, tekst i nacrtane linije imaju oblike, dobro definirane granice. Oni su u jakom kontrastu s ostatkom slike (pozadina). Susjedni pikseli diskretne tonske slike često su pojedinačni ili jako variraju u vrijednosti. Takve su slike slabo komprimirane metodama s gubitkom, budući da izobličenje samo nekoliko piksela slova čini nečitljivim, pretvarajući uobičajeni stil u potpuno nerazlučiv. Slike diskretnih tonova obično imaju dosta redundantnosti. Mnogi njegovi fragmenti ponavljaju se mnogo puta na različitim mjestima na slici.

5. Slike kao iz crtića. To su slike u boji koje sadrže velika područja iste boje. U ovom slučaju, susjedna područja mogu se jako razlikovati u boji.

5. Metode obrade slike

Preliminarna analiza slika omogućuje nam da zaključimo sljedeće:

Prvo, većina slika, u procesu njihovog formiranja (fotografiranje skenova, itd.), pod utjecajem je niza negativnih čimbenika (vibracija fotoaparata, neravnomjerno kretanje elementa za skeniranje, itd.), što dovodi do zamućenja, pojave niskih -kontrast i bučna područja itd.

Drugo, velika većina metoda temelji se na prepoznavanju objekata na slici i njihovoj daljnjoj analizi.

Dakle, prije analize slika mora proći kroz fazu pripreme koja se sastoji od izvođenja operacija za poboljšanje vizualne kvalitete (povećanje kontrasta, uklanjanje zamućenja, naglašavanje rubova, filtriranje) i operacija za oblikovanje grafičke pripreme (segmentacija, isticanje kontura) slika.

5.1 Promjena kontrasta

Slab kontrast obično je uzrokovan malim dinamičkim rasponom promjena svjetline ili jakom nelinearnošću u prijenosu razina svjetline. Najjednostavnija metoda kontrastiranja je funkcionalno preslikavanje gradacije svjetline fij u gij, odnosno gij = R(fij). U praksi se vrlo često koriste linearna funkcionalna preslikavanja. Ako, kao rezultat neravnomjernog osvjetljenja tijekom fotografiranja ili izrade fotografija, dođe do situacije u kojoj različita područja slike imaju različit kontrast. U ovom se slučaju za promjenu kontrasta koriste prilagodljivi algoritmi kontrasta. Primjer je algoritam za lokalno poboljšanje kontrasta. Eksperimentalne studije potvrdile su visoku učinkovitost algoritma ako slika sadrži područja s jasno previsokim ili niskim kontrastima.

Bit algoritma je da se slika promatra kao skup određenog broja lokalnih područja, a ta se područja obrađuju uzimajući u obzir njihove karakteristike. Obrada se provodi sljedećim redoslijedom: faktor pojačanja rezova gustoće p izračunava se zasebno za svako lokalno područje slike. Svaki piksel slike se obrađuje. Ako je p jednak jedan, tada se ne izvodi nikakva radnja na lokalnom području slike (ako je p različit od jedan, tada se povećava kontrast lokalnog područja). U početku se izračunava kontrast na analiziranoj točki u odnosu na najbliže susjedstvo. Zatim se vrijednost relativnog kontrasta dodaje jedinici, a rezultirajuća vrijednost se prihvaća u algoritmu kao faktor pojačanja p, a zatim se izračunava pomoću formule:

program za segmentaciju slike kontrast

gdje je nova vrijednost svjetline, je trenutna svjetlina obrađene slike, je potrebna maksimalna vrijednost svjetline obrađene slike.

5.2 Izglađivanje šuma

Slike su podložne aditivnom i impulsnom šumu tijekom faze digitalizacije. Aditivni šum je neki slučajni signal koji se dodaje korisnom na izlazu iz sustava; u ovom slučaju aditivni šum nastaje zbog zrnatosti filma. Impulsni šum, za razliku od aditivnog, karakterizira njegov utjecaj na korisni signal samo u pojedinim slučajnim točkama (vrijednost rezultirajućeg signala u tim točkama poprima slučajnu vrijednost). Impulsni šum tipičan je za sustave za prijenos i pohranu digitalne slike. Stoga se u procesu pripreme slike javlja problem potiskivanja šuma.

Najjednostavnija metoda za izglađivanje šuma na slici je izglađivanje, tj. zamjenjujući vrijednost svjetline svakog elementa s prosječnom vrijednošću koja se nalazi u njegovoj blizini:

gdje je skup točaka koje pripadaju okolini točke (uključujući i samu točku); - broj točaka u susjedstvu.

Razmatrana metoda učinkovito eliminira aditivni i impulsni šum u svakom elementu slike.

5.3 Naglašavanje granica

Tehnike izglađivanja slike mogu vrlo učinkovito ukloniti šum. Značajan nedostatak anti-aliasing algoritama je zamućenje slike (tj. smanjenje jasnoće konturnih elemenata), a količina zamućenja proporcionalna je veličini maske koja se koristi za izglađivanje. Za nedvosmislenu analizu slike, posebice pri proračunu geometrijskih karakteristika strukturnih elemenata, vrlo je važno ukloniti zamućenje s kontura objekata na slici, odnosno pojačati razliku između stupnjevanja svjetline konturnih elemenata objekta i susjedni elementi pozadine. U ovom slučaju, pri obradi slika koriste se metode za naglašavanje kontura.

Obično se poboljšanje rubova izvodi pomoću visokofrekventnog prostornog filtriranja. Karakteristike filtara navedene su kao maska ​​u kojoj prosječna vrijednost mora biti jednaka nuli.

Druga metoda za naglašavanje granica je takozvana statička diferencijacija. U ovoj metodi, vrijednost svjetline svakog elementa podijeljena je statističkom procjenom standardne devijacije, to jest (standardna devijacija se izračunava u nekom susjedstvu elementa).

5.4 Srednje filtriranje

Medijansko filtriranje odnosi se na nelinearne metode obrade slike i ima sljedeće prednosti u odnosu na linearno filtriranje (klasični postupak izglađivanja): čuva oštre promjene (granice); učinkovito izglađuje impulsni šum; ne mijenja svjetlinu pozadine.

Filtriranje medijana provodi se pomicanjem nekog otvora (maske) duž diskretne slike i zamjenom vrijednosti središnjeg elementa maske s vrijednošću medijana (prosječna vrijednost uređenog niza) izvornih elemenata unutar otvora. Općenito, otvor blende može imati najrazličitije oblike, ali u praksi je kvadratni otvor veličine

5.5 Segmentacija slike

Segmentacija slike shvaćena je kao proces njezine podjele na sastavne dijelove koji imaju smisleno značenje: objekte, njihove granice ili druge informativne fragmente, karakteristične geometrijske značajke itd. U slučaju automatizacije metoda prikupljanja slike, segmentacija se mora smatrati Glavna početna faza analize, koja se sastoji u izgradnji formalnih slika opisa, čija kvaliteta uvelike određuje uspjeh rješavanja problema prepoznavanja i tumačenja objekata.

Općenito, segmentacija je operacija dijeljenja konačnog skupa ravnine na kojoj je funkcija izvorne slike definirana u neprazne povezane podskupove u skladu s nekim predikatom definiranim na skupu i uzimajući prave vrijednosti kada bilo koji par bodova iz svakog podskupa zadovoljava neki kriterij homogenosti (na primjer, kriterij homogenosti koji se temelji na procjeni maksimalne razlike u svjetlini pojedinačnog piksela i prosječne vrijednosti svjetline izračunate na odgovarajućem području).

5.5.1 Metode segmentacije praga

Određivanje praga jedna je od glavnih metoda segmentacije slike zbog svojih intuitivnih svojstava. Ova metoda usmjerena je na obradu slika čija se pojedinačna homogena područja razlikuju u prosječnoj svjetlini. Najčešća metoda segmentacije pragom je binarna segmentacija, odnosno kada imamo na raspolaganju dvije vrste homogenih područja.

U ovom slučaju, slika se obrađuje piksel po piksel, a pretvorba svakog piksela ulazne slike u izlaznu sliku određena je relacijom:

gdje je parametar obrade koji se naziva prag, a izlazne su razine svjetline. Obrada pikselima, čiji položaj na slici ne igra nikakvu ulogu, naziva se obrada točka. Razine igraju ulogu oznaka. Koriste se za određivanje vrste koja je određena točka klasificirana kao: H0 ili H1. Ili kažu da se H0 sastoji od pozadinskih točaka, a H1 od interesnih točaka. U pravilu, razine odgovaraju razinama bijele i crne boje. Klase H1 (poznate i kao klasa od interesa) nazvat ćemo objektnom klasom, a klasu H0 pozadinskom klasom.

Naravno, segmentacija ne može biti samo binarna, au ovom slučaju postoji više od dvije postojeće klase. Ova vrsta segmentacije naziva se višerazinska. Rezultirajuća slika nije binarna, već se sastoji od segmenata različite svjetline. Formalno se ova operacija može napisati na sljedeći način:

gdje je broj razina, a su klase slike. U tom slučaju za svaku od klasa mora se postaviti odgovarajući prag koji bi te klase odvojio jedne od drugih. Binarne slike lakše je pohraniti i obraditi od slika koje imaju mnogo razina svjetline.

Najteža stvar kod određivanja praga je sam proces određivanja praga. Prag se često piše kao funkcija oblika:

gdje je slika, a neka karakteristika točke slike, na primjer, prosječna svjetlina u susjedstvu sa središtem u ovoj točki.

Ako vrijednost praga ovisi samo o, odnosno ista je za sve točke slike, tada se takav prag naziva globalnim. Ako prag ovisi o prostornim koordinatama, onda se takav prag naziva lokalnim. Ako ovisi o karakteristikama, tada se takav prag naziva adaptivnim. Stoga se obrada smatra globalnom ako se odnosi na cijelu sliku u cjelini, a lokalnom ako se odnosi na određeno odabrano područje.

Osim navedenih razlika između algoritama, postoji još mnogo metoda. Mnogi od njih jednostavno su kombinacija drugih, no većina ih se, na ovaj ili onaj način, temelji na analizi histograma izvorne slike, međutim, postoje fundamentalno drugi pristupi koji ne utječu izravno na analizu histograma ili prijeći s njih na analizu nekih drugih funkcija.

5.5.2 Metode za uzgojne površine

Metode ove skupine temelje se na korištenju lokalnih značajki slike. Ideja metode uzgoja područja je da se prvo analizira početna točka, zatim njezine susjedne točke, itd. u skladu s nekim kriterijem homogenosti, te naknadno uključivanje analiziranih točaka u jednu ili drugu skupinu (broj polaznih točaka mora biti jednak broju homogenih područja na slici). Učinkovitije verzije metode ne koriste pojedinačne piksele kao početnu točku, već rastavljaju sliku na više malih područja. Zatim se provjerava ujednačenost svakog područja, a ako je rezultat testa negativan, odgovarajuće područje se dijeli na manje dijelove. Proces se nastavlja sve dok sva odabrana područja ne prođu test homogenosti. Nakon toga počinje formiranje homogenih područja pomoću ekstenzija.

Segmentacija pragom i segmentacija temeljena na kriteriju homogenosti na temelju prosječne svjetline često ne daju željene rezultate. Ova segmentacija obično rezultira značajnim brojem malih regija koje nemaju prave prototipove na slici. Najučinkovitiji rezultati postižu se segmentacijom na temelju kriterija homogenosti na temelju teksture (ili značajki teksture).

5.5.3 Ocrtavanje

Nije neuobičajeno susresti se s problemom pronalaženja opsega, zakrivljenosti, faktora oblika, specifične površine predmeta itd. Svi navedeni zadaci su na ovaj ili onaj način povezani s analizom konturnih elemenata objekata.

Metode za prepoznavanje kontura (granica) na slici mogu se podijeliti u sljedeće glavne klase:

metode visokopropusnog filtriranja;

metode prostorne diferencijacije;

Metode funkcionalne aproksimacije.

Zajedničko svim ovim metodama je tendencija da se granice smatraju područjem oštre promjene u funkciji svjetline slike; Ono što ih razlikuje je uvedeni matematički model pojma granice i algoritam za traženje graničnih točaka.

U skladu s dodijeljenim zadacima, na algoritme za izdvajanje kontura postavljaju se sljedeći zahtjevi: odabrane konture moraju biti tanke, bez prekida i zatvorene. Dakle, proces identifikacije kontura je donekle kompliciran zbog potrebe primjene algoritama za stanjivanje i uklanjanje praznina. Međutim, to ne daje uvijek željeni rezultat - u većini slučajeva konture nisu zatvorene i, kao rezultat toga, neprikladne za brojne postupke analize.

Problem koji se pojavio može se riješiti konturiranjem algoritmom za praćenje rubova pomoću metode "bug", koja vam omogućuje da istaknete zatvorene konture objekata. Suština algoritma je sljedeća: odabrana je određena početna granična točka na objektu i kontura se uzastopno prati dok se ne postigne početna točka. U slučaju praćenja konture u smjeru kazaljke na satu, da bi se došlo do početne točke, pomak piksel po piksel se izvodi udesno ako je piksel izvan objekta, i ulijevo ako je na objektu.

Ovako odabrana kontura je kod zatvorenog lanca, tj. niz koordinata rubnih točaka objekta, što je vrlo zgodno za rješavanje zadanih problema.

5.5.4 Metode koje se temelje na klasteriranju

Metoda K-means je iterativna metoda koja se koristi za dijeljenje slike u K klastera. Osnovni algoritam je dan u nastavku:

1. Odaberite K centara klastera, nasumično ili na temelju neke heuristike;

2. Postavite svaki piksel slike u klaster čije je središte najbliže tom pikselu;

3. Ponovno izračunajte centre klastera izračunavanjem prosjeka svih piksela u klasteru;

4. Ponavljajte korake 2 i 3 do konvergencije (na primjer, kada pikseli ostanu u istom klasteru).

Ovdje se udaljenost obično uzima kao zbroj kvadrata ili apsolutnih vrijednosti razlika između piksela i središta klastera. Razlika se obično temelji na boji, svjetlini, teksturi i položaju piksela ili ponderiranom zbroju tih faktora.

K se može birati ručno, nasumično ili heuristički.

Zajamčeno je da će ovaj algoritam konvergirati, ali možda neće rezultirati optimalnim rješenjem.

Kvaliteta rješenja ovisi o početnom skupu klastera i vrijednosti K.

5.5.5 Metode histograma

Metode temeljene na histogramu vrlo su učinkovite u usporedbi s drugim metodama segmentacije slike jer zahtijevaju samo jedan prolaz kroz piksele. U ovoj se metodi histogram izračunava za sve piksele na slici, a njegovi minimumi i maksimumi koriste se za pronalaženje klastera na slici. Za usporedbu se može koristiti boja ili svjetlina.

Poboljšanje ove metode je rekurzivna primjena na klastere na slici kako bi se podijelili u manje klastere. Proces se ponavlja sa sve manjim i manjim grozdovima dok se ne pojave novi klasteri.

Jedan nedostatak ove metode je da može imati poteškoća u pronalaženju značajnih minimuma i maksimuma na slici. U ovoj metodi klasifikacije slika, metrika udaljenosti i integrirano podudaranje regije su slični.

Pristupi koji se temelje na histogramu također se mogu brzo prilagoditi na više okvira uz zadržavanje njihove prednosti u brzini u jednom prolazu. Histogram se može konstruirati na nekoliko načina kada se razmatra više okvira. Isti pristup koji se koristi za jedan okvir može se primijeniti na nekoliko, a nakon što se rezultati spoje, niski i visoki tokovi koje je bilo teško izolirati postaju vidljiviji. Histogram se također može primijeniti na osnovi po pikselu, gdje se informacije koriste za određivanje najčešće boje za danu poziciju piksela. Ovaj pristup koristi segmentaciju na temelju pokretnih objekata i nepokretnog okruženja, što pruža još jednu vrstu segmentacije korisnu u video praćenju.

5.5.6 Metode za uzgojne površine

Prva je bila metoda uzgoja površina iz sjemena. Ova metoda uzima slike i skup sjemenki kao ulaz. Sjemenke označavaju objekte za isticanje. Regije se postupno povećavaju uspoređujući sve nezauzete susjedne piksele s regijom. Razlika d između svjetline piksela i prosječne svjetline regije koristi se kao mjera sličnosti. Piksel s najmanjom takvom razlikom dodaje se odgovarajućem području. Proces se nastavlja dok se svi pikseli ne dodaju u jednu od regija.

Metoda uzgoja površina iz sjemena zahtijeva dodatni unos. Rezultat segmentacije ovisi o izboru sjemena. Šum na slici može biti uzrokovan loše postavljenim sjemenkama. Metoda uzgoja regija bez korištenja sjemena je modificirani algoritam koji ne zahtijeva eksplicitne sjemenke. Započinje s jednom regijom - piksel odabran ovdje ima mali učinak na konačnu segmentaciju. U svakoj iteraciji razmatra susjedne piksele na isti način kao i metoda uzgoja regije pomoću sjemenki. Ali tu se razlikuje da ako minimum nije manji od navedenog praga, onda se dodaje odgovarajućem području. U suprotnom, piksel se smatra vrlo različitim od svih trenutnih regija i stvara se nova regija koja sadrži ovaj piksel.

Jedna varijanta ove metode temelji se na korištenju svjetline piksela. Srednja vrijednost i varijanca regije i svjetlina piksel kandidata koriste se za konstruiranje testne statistike. Ako je testna statistika dovoljno mala, tada se piksel dodaje regiji i ponovno se izračunavaju srednja vrijednost i varijanca regije. U suprotnom, piksel se zanemaruje i koristi za stvaranje nove regije.

5.5.7 Metode rezanja grafikona

Metode rezanja grafikona mogu se učinkovito primijeniti na segmentaciju slike. U ovim metodama, slika je predstavljena kao ponderirani neusmjereni graf. Tipično, piksel ili grupa piksela povezana je s vrhom, a težine rubova određuju sličnost ili različitost susjednih piksela. Graf se zatim reže prema kriteriju stvorenom da se dobiju "dobri" klasteri. Svaki dio vrhova (piksela) proizveden ovim algoritmima smatra se objektom na slici.

5.5.8 Segmentacija sliva

U segmentaciji sliva, slika se smatra kartom područja, gdje vrijednosti svjetline predstavljaju vrijednosti visine u odnosu na određenu razinu. Ako je ovo područje ispunjeno vodom, onda se formiraju bazeni. Kada se dodatno napune vodom, ti se bazeni spajaju. Mjesta gdje se ti bazeni spajaju označena su kao razvodne linije.

U ovom tumačenju razmatraju se tri vrste točaka:

1. lokalni minimum;

2. točke koje se nalaze na padini, t.j. s kojih se voda kotrlja do istog mjesnog minimuma;

3. lokalne maksimalne točke, tj. iz kojeg se voda otkotrlja u više od jednog minimuma.

Razdvajanje dodirnih objekata na slici jedan je od važnih problema obrade slike. Za rješavanje ovog problema često se koristi takozvana metoda razvoda markera. Transformacije koje koriste ovu metodu trebaju identificirati "slivove" i "slivove" na slici obradom lokalnih područja ovisno o njihovim karakteristikama svjetline.

Metoda razvoda markera jedna je od najučinkovitijih metoda segmentacije slike.

Prilikom implementacije ove metode provode se sljedeći osnovni postupci:

1. Izračunava se funkcija segmentacije. Odnosi se na slike na kojima se objekti nalaze u tamnim područjima i teško ih je vidjeti.

2. Izračun oznaka prednjeg plana slika. Izračunavaju se na temelju analize povezanosti piksela svakog objekta.

3. Izračun pozadinskih oznaka. Oni predstavljaju piksele koji nisu dijelovi objekata.

4. Modifikacija funkcije segmentacije na temelju vrijednosti lokacije pozadinskih markera i markera prednjeg plana.

Jedna od najvažnijih primjena segmentacije po vododjelnicama je odabir objekata jednolike svjetline (u obliku mrlja) iz pozadine slike. Područja karakterizirana malim varijacijama u svjetlini imaju male vrijednosti gradijenta. Stoga se u praksi često događa situacija kada se metoda segmentacije vododjelnice ne primjenjuje na samu sliku, već na njen gradijent.

6. Opis funkcija

Ovaj rad predstavlja algoritam segmentacije slike korištenjem metode razvoda markera.

Glavne funkcije koje se koriste pri izradi programa:

Funkcija fspecial stvara dvodimenzionalni filtar navedenog tipa;

Funkcija imfilter je morfološka operacija za stvaranje gradijentne slike;

Funkcija vododjelnice pretvara vododjelnicu iz slike;

Funkcija label2rgb pretvara izvornu sliku u sive nijanse;

Funkcija imregionalmax određuje sve lokalne maksimume slike;

Funkcija imextendedmin pronalazi "niske" točke na slici koje leže dublje od određene razine praga u usporedbi s njihovim neposrednim okruženjem;

Funkcija imimposemin modificira sliku u sivim tonovima tako da se lokalni minimumi postižu samo na označenim pozicijama; druge vrijednosti piksela povećavaju se kako bi se eliminirale sve druge lokalne minimalne točke;

Funkcije imreconstruct i imcomplement - rekonstrukcija slike pomoću morfoloških operacija otvaranja (zatvaranja.)

7. Testiranje algoritma

Prilikom implementacije ove metode provedeni su sljedeći postupci:

1. Pročitajte sliku i pretvorite je u sive tonove (Slika 1);

Slika 1. Izvorna (lijevo) i slika u polutonu (desno).

2. Vrijednosti gradijenta koristimo kao funkciju segmentacije (Slika 2);

Slika 2. Vrijednosti gradijenta.

3. Izvodimo morfološke operacije na slici (Slika 3);

Slika 3. Rezultat primjene morfoloških operacija otvaranja-zatvaranja kroz rekonstrukciju slike.

4. Izračunajte oznake prednjeg i pozadinskog plana slike (Slika 4);

Slika 4. Oznake prednjeg plana (lijevo) i pozadine (desno) slike.

5. Gradimo granice slivova (slika 5);

Slika 5. Granice sliva.

6. Prikaz oznaka i granica objekata na polutonskoj slici (slika 6);

Slika 6. Markeri i granice objekta.

7. Prikažite rezultat segmentacije pomoću slike u boji (lijevo) i pomoću poluprozirnog načina (desno).

Slika 7 Rezultati segmentacije.

Zaključak

U ovom radu razvijena je metoda razvoda markera za segmentaciju slike.

Izravna primjena algoritma segmentacije vododjelnice rezultira redundantnom segmentacijom, pa se za upravljanje redundantnom segmentacijom koristi pristup temeljen na markerima.

Marker predstavlja povezanu komponentu koja pripada slici. Također, prije segmentacije po slivovima, izvršena je potrebna predobrada slike.

Popis korištenih izvora

1. Gonzalez R., Woods R. Digitalna obrada slike. - M.: Tekhnosphere, 2005. 1072 str.

2. Pratt W. Digitalna obrada slike. - M.: Mir, knjiga 1, 1982. 312 str.

3. Yaroslavsky L.P. Uvod u digitalnu obradu slike. - M: Sov. radio, 1979. 312 str.

4. Pratt W. Digitalna obrada slike. - M: Mir, knjiga. 1, 1982. 480 str.

5. http://www.ict.edu.ru/lib/

6. http://matlab.exponenta.ru/imageprocess/book2/76.php

7. Vizilter Yu.V. Obrada i analiza digitalnih slika s primjerima u LabVIEW i IMAQ VIsion. - M: DMK, 2011. 464 str.

8. Gonzalez R., Woods R., Eddins S. Digitalna obrada slike u MATLAB-u. - M: Tehnosfera, 2006. 616 str.

9. http://matlab.exponenta.ru/imageprocess/book2/48.php

10. Salomon D. Kompresija podataka, slike i zvuka. - M.: Tekhnosphere, 2004. 368 str.

Primjena

Brojimo sliku

rgb=imread("C:\Korisnici\Ime\Dokumenti\MATLAB\picture1.jpeg");

Zamislimo to kao poluton

I=rgb2siva(rgb);figura,imshow(I);

Izračunajte vrijednost gradijenta

hy=fspecial("sobel"); hx=hy";

Iy=imfilter(double(I), hy, "repliciraj");

Ix=imfilter(double(I), hx, "repliciraj");

gradmag=sqrt(Ix.^2+Iy.^2);

Primijenimo metodu razvoda

L=razvodnica(gradmag);Lrgb=oznaka2rgb(L);

Morfološke operacije

se = strel("disk",15);

Ie = imerode(I, se);Iobr = imreconstruct(Ie, I);

Iobrd = imdilate(Iobr, se);

Iobrcbr = imrekonstruirati(imkomplement(Iobrd), imkomplement(Iobr));

Iobrcbr = imkomplement(Iobrcbr);

Izračunajmo lokalne maksimume

fgm = imregionalmax(Iobrcbr);

Stavimo markere na sliku

I2 = I; I2(fgm) = 255;

Uklanjanje pojedinačnih izoliranih piksela

se2 = strel(one(3,3));fgm2 = imclose(fgm, se2);fgm3 = imerode(fgm2, se2);

Uklonite određeni broj piksela

fgm4 = bwareaopen(fgm3, 20);

Prekrijte ga na izvornoj slici

I3 = I; I3(fgm4) = 255;

Izračunajmo markere pozadine

bw = im2bw(Iobrcbr, graythresh(Iobrcbr));

Mjerenje udaljenosti do vododjelnice

D = bwdist(bw);DL = vododjelnica(D);bgm = DL == 0;

slika, imshow(bgm), naslov("bgm");

Podešavanje vrijednosti gradijenta

gradmag2 = imimposemin(gradmag, bgm | fgm4);

L = vododjelnica (gradmag2);

Primijenite oznake i granice objekta na izvornu sliku

I4 = I;I4(imdilate(L == 0, one(3, 3)) | bgm | fgm4) = 255;

Prikažite rezultat pomoću slike u boji

Lrgb = label2rgb(L, "mlaz", "w", "premješavanje");

Primijenimo markere i granice objekta na prozirnu sliku

lik, imshow(I), držati se

slika = imshow(Lrgb);

set(himage, "AlphaData", 0.3);

naslov ("Lrgb2");

Objavljeno na Allbest.ru

...

Slični dokumenti

    Digitalni radiografski sustavi. Metode automatske analize slike u MatLab okruženju. Analiza rendgenske slike. Filtriranje, segmentacija, poboljšanje slike. Hardverske mogućnosti za preliminarnu normalizaciju slike.

    kolegij, dodan 07.12.2013

    Odabir metoda obrade i segmentacije slike. Matematičke osnove primijenjenih filtara. Histogram svjetline slike. Programska implementacija složene metode obrade slike. Testiranje razvijenog softvera.

    kolegij, dodan 18.01.2017

    Proučavanje i programska implementacija u Matlab okruženju metoda za obradu, analizu, filtriranje, segmentaciju i poboljšanje kvalitete rendgenskih medicinskih slika. Digitalni radiografski sustavi. Razvoj statički baziranih algoritama.

    kolegij, dodan 20.01.2016

    Suvremeni sustavi za analizu tekstura slika. Primjeri segmentacije teksture jednokanalnih slika. Korištenje značajki dobivenih iz histograma svjetline drugog reda za klasifikaciju spektrozonalnih fotografija iz zraka.

    sažetak, dodan 15.01.2017

    Računalna grafika i obrada slike elektroničkim računalima najvažniji su aspekt uporabe računala u svim sferama ljudskog djelovanja. Razvoj “podsustava linearne segmentacije”, opis algoritma i logike.

    diplomski rad, dodan 23.06.2008

    Problemi digitalne obrade slike. Metode segmentacije praga. Izrada programa za prikaz crteža u obliku matrice i primjena obrade praga na njega. Izrada sučelja za program za učitavanje i filtriranje slika s odabranim pragom.

    kolegij, dodan 12.11.2012

    Opis matematičkih metoda za prikaz i obradu grafičkih slika. Opis razvijenog softverskog dodatka. Opis funkcija i njihovih atributa. Prezentacija i obrada grafičkih slika. Rezultati testiranja programa.

    kolegij, dodan 27.01.2015

    Problem prostorno-vremenske obrade slike u prisutnosti šuma i smetnji. Optimizacijske metode za prostorno-vremensku obradu slike. Struktura specijaliziranog programa, opis njegovog korisničkog sučelja. Procjena troškova.

    diplomski rad, dodan 10.6.2013

    Detekcija detalja i njihovih granica na slici. Primjena algoritama rangiranja. Korištenje kvantizacijskih algoritama adaptivnog načina rada u načinu obrade fragment po fragment. Generalizirano linearno filtriranje slike. Obnova nedostajućih područja.

    kolegij, dodan 17.06.2013

    Pregled postojećeg softvera za automatizaciju odabira rubova na slici. Razvoj matematičkog modela za obradu slike i izdvajanje kontura u tonovima sive i softvera za algoritme za obradu slike.

Usmjerena segmentacija vododjelnice

Vrlo često se prilikom analize slika pojavljuje zadatak podjele slikovnih piksela u skupine prema određenim karakteristikama. Ovaj proces podjele u skupine naziva se segmentacija. Najpoznatije su dvije vrste segmentacije - segmentacija prema svjetlini za binarne slike i segmentacija prema koordinatama boja za slike u boji. Metode segmentacije mogu se smatrati formalizacijom koncepta razlikovanja objekta od pozadine ili koncepata povezanih s gradijentom svjetline. Algoritme segmentacije karakteriziraju određeni parametri pouzdanosti i točnosti obrade. Oni ovise o tome koliko su u potpunosti uzete u obzir dodatne karakteristike raspodjele svjetline u područjima objekata ili pozadine, broj promjena svjetline, oblik objekata itd.

Postoje mnoge slike koje sadrže predmet interesa prilično ujednačene svjetline na pozadini različite svjetline. Primjeri uključuju rukom pisani tekst, niz medicinskih slika itd. Ako se svjetlina točaka objekta oštro razlikuje od svjetline pozadinskih točaka, tada je rješavanje problema uspostavljanja praga jednostavan zadatak. U praksi to nije tako jednostavno, budući da je slika koja se proučava podložna šumu i dopuštene su neke varijacije u vrijednostima svjetline. Postoji nekoliko analitičkih pristupa ograničenju praga svjetline. Jedna je metoda postaviti prag na takvu razinu da je ukupni zbroj elemenata s osvjetljenjem ispod praga u skladu s prethodnim vjerojatnostima tih vrijednosti osvjetljenja.

Slični pristupi mogu se primijeniti na obradu slika u boji i spektrozonskih slika. Postoji i vrsta segmentacije koja se naziva konturna segmentacija. Vrlo često analiza slike uključuje operacije kao što su dobivanje vanjske konture slika objekata i snimanje koordinata točaka na ovoj konturi. Postoje tri glavna pristupa predstavljanju granica objekta: aproksimacija krivulje, praćenje kontura i povezivanje točaka pada. Da bismo dovršili analizu, treba napomenuti da također postoji segmentacija teksture i segmentacija oblika.

Najjednostavnija vrsta segmentacije je segmentacija praga. Našao je vrlo široku primjenu u robotici. To se objašnjava činjenicom da na ovom području slike predmeta koji se proučavaju uglavnom imaju prilično ujednačenu strukturu, a njihova se pozadina oštro ističe. Ali osim toga, za pouzdanu obradu morate znati da se slika sastoji od jednog objekta i pozadine, čija je svjetlina u strogo poznatim rasponima i ne presijecaju se jedna s drugom.

Razvoj tehnologija obrade slike doveo je do pojave novih pristupa rješavanju problema segmentacije slike i njihove primjene u rješavanju mnogih praktičnih problema.

U ovom radu razmotrit ćemo relativno novi pristup rješavanju problema segmentacije slike - metodu vododjelnice. Objasnimo ukratko naziv ove metode i što je njezina suština.

Predlaže se da se slika smatra kartom područja, gdje vrijednosti svjetline predstavljaju vrijednosti visine u odnosu na određenu razinu. Ako je ovo područje ispunjeno vodom, onda se formiraju bazeni. Kada se dodatno napune vodom, ti se bazeni spajaju. Mjesta gdje se ti bazeni spajaju označena su kao razvodne linije.

Razdvajanje dodirnih objekata na slici jedan je od važnih problema obrade slike. Za rješavanje ovog problema često se koristi takozvana metoda razvoda markera. Transformacije koje koriste ovu metodu trebaju identificirati "slivove" i "slivove" na slici obradom lokalnih područja ovisno o njihovim karakteristikama svjetline.

Metoda razvoda markera jedna je od najučinkovitijih metoda segmentacije slike. Prilikom implementacije ove metode provode se sljedeći osnovni postupci:

    Izračunava se funkcija segmentacije. Odnosi se na slike na kojima se objekti nalaze u tamnim područjima i teško ih je vidjeti.

    Izračunavanje oznaka prednjeg plana slika. Izračunavaju se na temelju analize povezanosti piksela svakog objekta.

    Izračunavanje pozadinskih markera. Oni predstavljaju piksele koji nisu dijelovi objekata.

    Modifikacija funkcije segmentacije na temelju vrijednosti lokacije pozadinskih markera i markera prednjeg plana.

    Izračuni temeljeni na modificiranoj funkciji segmentacije.

U ovom primjeru, najčešće korištene funkcije Image Processing Toolboxa su fspecial, imfilter, watershed, label2rgb, imopen, imclose, imreconstruct, imcomplement, imregionalmax, bwareaopen, graythresh i imimposemin.

  • Korak 1: Pročitajte sliku u boji i pretvorite je u sive nijanse.
  • Korak 2: Korištenje vrijednosti gradijenta kao funkcije segmentacije.
  • Korak 3: Označavanje objekata u prvom planu.
  • Korak 4: Izračunajte oznake pozadine.
  • Korak 6: Vizualizacija rezultata obrade.

Korak 1: Pročitajte sliku u boji i pretvorite je u sive nijanse.

Čitamo podatke iz datoteke pears.png rgb=imread("pears.png"); te ih prikazati kao sliku u polutonu. I=rgb2siva(rgb); imshow(I) text(732,501,"…",... "Veličina fonta",7,"Horizontalno poravnanje","desno")

Korak 2: Korištenje vrijednosti gradijenta kao funkcije segmentacije.

Sobelov operator, funkcija imfiltera i drugi izračuni koriste se za izračunavanje vrijednosti gradijenta. Gradijent ima velike vrijednosti na granicama objekata i male vrijednosti (u većini slučajeva) izvan granica objekata.

Hy=fspecial("sobel"); hx=hy"; Iy=imfilter(double(I), hy, "repliciraj"); Ix=imfilter(double(I), hx, "repliciraj"); gradmag=sqrt(Ix.^2+Iy.^2 ); slika, imshow(gradmag,), naslov("vrijednost gradijenta")

Stoga, nakon što ste izračunali vrijednosti gradijenta, možete početi segmentirati slike koristeći razmatranu metodu razvoda markera.

L=razvodnica(gradmag); Lrgb=oznaka2rgb(L); slika, imshow(Lrgb), naslov("Lrgb")

Međutim, bez dodatnih dodatnih izračuna takva će segmentacija biti površna.

Korak 3: Označavanje objekata u prvom planu.

Za označavanje objekata u prvom planu mogu se koristiti različiti postupci. Ovaj će primjer koristiti morfološke tehnologije nazvane "otvaranje kroz restauraciju" i "zatvaranje kroz restauraciju". Ove vam operacije omogućuju analizu unutarnjeg područja slikovnih objekata pomoću funkcije imregionalmax.

Kao što je gore spomenuto, prilikom označavanja objekata u prvom planu također se koriste morfološke operacije. Pogledajmo neke od njih i usporedimo ih. Prvo implementiramo operaciju proširenja pomoću funkcije imopen.

Se=strel("disk", 20); Io=imopen(I, se); slika, imshow(Io), naslov("Io")

Ie=imerode(I, se); Iobr=imrekonstruirati(Ie, I); slika, imshow(Iobr), naslov("Iobr")

Naknadne morfološke operacije otvaranja i zatvaranja rezultirat će pomicanjem tamnih mrlja i stvaranjem markera. Analizirajmo operacije morfološkog zatvaranja. Da biste to učinili, prvo upotrijebite funkciju imclose:

Ioc=imclose(Io, se); slika, imshow(Ioc), naslov("Ioc")

Iobrd=imdilate(Iobr, se); Iobrcbr=imrekonstruirati(imkomplement(Iobrd), imkomplement(Iobr)); Iobrcbr=imkomplement(Iobrcbr); slika, imshow(Iobrcbr), naslov("Iobrcbr")

Usporedna vizualna analiza Iobrcbr i Ioc pokazuje da je prikazana rekonstrukcija temeljena na morfološkim operacijama otvaranja i zatvaranja učinkovitija u usporedbi sa standardnim operacijama otvaranja i zatvaranja. Izračunajmo lokalne maksimume Iobrcbr i dobijmo oznake prednjeg plana.

Fgm=imregionalmax(Iobrcbr); slika, imshow(fgm), naslov("fgm")

Primijenimo markere prednjeg plana na izvornu sliku.

I2=I; I2(fgm)=255; slika, imshow(I2), naslov("fgm superponiran na originalnu sliku")

Imajte na umu da neki skriveni ili zatvoreni objekti na slici nisu označeni. Ovo svojstvo utječe na formiranje rezultata i mnogi takvi slikovni objekti neće biti obrađeni sa stajališta segmentacije. Stoga markeri prednjeg plana pokazuju samo granice većine objekata. Tako predstavljene granice podliježu daljnjoj obradi. Konkretno, to mogu biti morfološke operacije.

Se2=strel(jedinice(5, 5)); fgm2=imclose(fgm, se2); fgm3=imerode(fgm2, se2);

Kao rezultat ove operacije, pojedinačni izolirani pikseli slike nestaju. Također možete koristiti funkciju bwareaopen koja vam omogućuje uklanjanje određenog broja piksela.

Fgm4=bwareaopen(fgm3, 20); I3=I; I3(fgm4)=255; slika, imshow(I3) naslov("fgm4 prekriven originalnom slikom")

Korak 4: Izračunajte oznake pozadine.

Sada izvršimo operaciju označavanja pozadine. Na Iobrcbr slici tamni pikseli pripadaju pozadini. Stoga se može primijeniti operacija praga slike.

Bw=im2bw(Iobrcbr, graythresh(Iobrcbr)); slika, imshow(cb), naslov("cb")

Pozadinski pikseli su tamni, ali ne možemo jednostavno izvršiti morfološke operacije na pozadinskim markerima i dobiti granice objekata koje segmentiramo. Pozadinu želimo "stanjiti" tako da dobijemo pravi kostur slike, odnosno tzv. prednji plan polutonske slike. To se izračunava korištenjem pristupa razdjelnice i na temelju mjerenja udaljenosti (do razvodnih linija).

D=bwdist(bw); DL=sliv (D); bgm=DL==0; slika, imshow(bgm), naslov("bgm")

Korak 5: Izračun korištenjem metode markera vododjelnice na temelju modificirane funkcije segmentacije.

Funkcija imimposemin može se koristiti za točno određivanje lokalnih minimuma na slici. Na temelju toga, funkcija imimposemin također može prilagoditi vrijednosti gradijenata na slici i tako precizirati lokaciju prednjeg i pozadinskog markera.

Gradmag2=imimposemin(gradmag, bgm | fgm4);

Na kraju se izvodi operacija segmentacije temeljena na vododjelnici.

L=razvodnica(gradmag2);

Korak 6: Vizualizacija rezultata obrade.

Prikažimo preklapajuće markere prednjeg plana, markere pozadine i granice segmentiranih objekata na izvornoj slici.

I4=I; I4(imdilate(L==0, one(3, 3))|bgm|fgm4)=255; slika, imshow(I4) naslov("Markeri i granice objekta postavljeni na originalnu sliku")

Kao rezultat ovog prikaza, možete vizualno analizirati položaj prednjeg i pozadinskog markera.

Također je zanimljivo prikazati rezultate obrade pomoću slike u boji. Matrica koju generiraju funkcije watershed i bwlabel mogu se pretvoriti u sliku u pravim bojama pomoću funkcije label2rgb.

Lrgb=label2rgb(L, "mlaz", "w", "miješanje"); slika, imshow(Lrgb) naslov("Lrgb")

Također možete koristiti poluprozirni način za prekrivanje pseudo-bojne matrice oznaka na vrhu izvorne slike.

Slika, imshow(I), čekaj himage=imshow(Lrgb); set(himage, "AlphaData", 0.3); title("Lrgb prekriven na izvornoj slici u poluprozirnom načinu")

Jedan od glavnih zadataka obrade i analize slike je segmentacija, tj. dijeljenje slike na područja za koja je zadovoljen određeni kriterij homogenosti, na primjer, isticanje područja približno iste svjetline na slici. Koncept slikovnog područja koristi se za definiranje koherentne skupine slikovnih elemenata koji imaju određeno zajedničko obilježje (svojstvo).
Jedan od glavnih i najjednostavnijih načina je izgradnja segmentacije pomoću praga. Prag je znak (svojstvo) koji pomaže podijeliti željeni signal u klase. Operacija dijeljenja praga je usporedba vrijednosti svjetline svakog piksela na slici s određenom vrijednošću praga.
Binarizacija

Operacija određivanja praga koja rezultira binarnom slikom naziva se binarizacija. Svrha operacije binarizacije je radikalno smanjiti količinu informacija sadržanih u slici. U procesu binarizacije, izvorna polutonska slika, koja ima određeni broj razina svjetline, pretvara se u crno-bijelu sliku, čiji pikseli imaju samo dvije vrijednosti - 0 i 1.

Prag slike može se izvršiti na različite načine.

Binarizacija s nižim pragom
Binarizacija s nižim pragom
Binarizacija s nižim pragom je najjednostavnija operacija koja koristi samo jednu vrijednost praga:

Sve vrijednosti umjesto kriterija postaju 1, u ovom slučaju 255 (bijelo) i sve vrijednosti (amplitude) piksela koje su veće od praga t - 0 (crno).

Binarizacija s gornjim pragom
Ponekad možete koristiti varijantu prve metode, koja proizvodi negativ slike dobivene postupkom binarizacije. Operacija binarizacije s gornjim pragom:

Binarizacija s dvostrukim ograničenjem
Kako bi se istaknula područja u kojima vrijednosti svjetline piksela mogu varirati unutar poznatog raspona, uvodi se binarizacija s dvostrukim ograničenjem (t 1
Moguće su i druge varijante s pragovima, kroz koje prolazi samo dio podataka (filtar srednjeg pojasa).

Nepotpuni prag
Ova transformacija proizvodi sliku koju je možda lakše dalje analizirati jer postaje lišena pozadine sa svim detaljima prisutnima na izvornoj slici.

Višerazinska transformacija praga
Ova operacija formira sliku koja nije binarna, već se sastoji od segmenata različite svjetline.

Što se tiče binarizacije, to je u biti to. Iako možemo dodati da postoji globalni, koji se koristi za cijelu sliku, a postoji i lokalni, koji snima dio slike (slike).

Lokalni prag
Otsa metoda
Metoda koristi histogram raspodjele vrijednosti svjetline piksela rasterske slike. Histogram se konstruira pomoću vrijednosti p i =n i /N, gdje je N ukupan broj piksela na slici, n i je broj piksela s razinom svjetline i. Raspon svjetline podijeljen je u dvije klase pomoću praga razine svjetline k,k - cjelobrojne vrijednosti od 0 do L. Svaka klasa odgovara relativnim frekvencijama ω 0 ω 1:

Prosječne razine za svaku od dvije klase slika:
Zatim se izračunava maksimalna vrijednost za ocjenu kvalitete dijeljenja slike na dva dijela:
gdje je (σ cl)2=ω 0 ω 1 (μ 1 -μ 0) 2 međuklasna varijanca, a (σ total) 2 ukupna varijanca za cijelu sliku.

Prag na temelju gradijenta svjetline slike
Pretpostavimo da se analizirana slika može podijeliti u dvije klase - objekte i pozadinu. Algoritam za izračun vrijednosti praga sastoji se od sljedeća 2 koraka:
1. Modul gradijenta svjetline određuje se za svaki piksel
Slike

2. Izračun praga:
Ukupno
Ono što sam pronašao rado sam podijelio s vama, u budućnosti ću, ako uspijem i budem imao vremena, pokušati implementirati neke od algoritama. Ovo je samo mali dio svega što danas postoji, ali i ovo rado dijelim.
Hvala vam na pažnji.

Najbolji članci na temu