Ära tajutav värvi erinevus edge detection

link: http://stevehanov.ca/blog/index.php?id=62

Ma ükskord võtsin arvuti nägemine klassi. Iga algoritmi, mida me õppinud, tehti halltoonides pilte, kui see oli 1950. aastal ja me ei saa endale lubada need uue fangled värv VDTs. Ma panin üles oma käe ja küsis, miks me visake kõik see armas värv teavet. Prof vastas, et mõned inimesed on proovinud seda, kuid see ei anna palju kasu.

Kuid mõnes olukorras, värv võib olla oluline. Siin on pilt GIMP:

gimp-värv

Esiteks, me teisendada halltoonid:

gimp-halltoonid

Umm……… Ma ei usu, et me peame minema edasist siin. ‘Nuf said.

Traditsioonilised lähenemisviisid värv

Arvuti nägemine teadlased kasutada kahte lähenemist tegelevad värv. Esimene on see, et murda pildi punane, roheline ja sinine pilte, kas algoritm kolm korda, ja ühendada tulemusi. Teine on ravida RGB väärtused kui vektor ja lahutama vektorite, et määrata värvi erinevus. Need meetodid võivad töötada, kuid nad ei võta arvesse inimese taju värvi.

RGB väärtused pilt on väga vähe pistmist sellega, kuidas inimese silm töötab. Nad on rohkem pistmist pinge vallandati selliseid luminofoore 80 on ajastu CRT ekraan kui inimeste nägemine. (Olgem mugavalt ignoreerida tõsiasja, et Lcd-d on täiesti erinevad omadused. Kõik teisedki, ei.)

Võrrelda kahte värvi, pead sa kõigepealt teisendada need eri värvi ruumi. Kui sa leiad end lahutades RGB väärtused, sa teed seda valesti.

Värvi erinevus

300px-CIE_1976_UCS

Inimesi saab eristada naha värvus väga hästi, nii et me saame öelda, kas võimaliku mate on tervislik või mitte. See on olulisem kui eristada eri tooni rohelised lehed, mis oleks pelgalt distractions maitsev kimp viljad ripuvad puud. Kirjeldades täpne toon on azure sky lihtsalt ei ole vaja ellujäämise nimel. Meil on ülitundlik erinevusi, kollased, punased ja oranžid.

Aastal 1915, Albert Munselli loonud Värv Atlas, raamat värv värvi proovid. Ta tuli koos viis loogiliselt korraldades neile, et loogiline, et oma silmaga. Iga värv oli indekseeritakse toon, küllastus, ja väärtus (tuntud ka kui kergus). Me ikka kasutada oma süsteem täna, ja kõige kaasaegne värvi teooria põhineb Munselli oma ideid.

CIE on rahvusvaheline juhtiv asutus ühtlustada asju teha koos valgus ja värv. 1960. aastal nad lõid matemaatika paigutus, värv, ja parandada seda 1975. aastal. Selles ruumis, mida rohkem erinevaid kahte värvi on, üksteisest kaugemal nad on joonistus. Kokkulepe ei ole täiuslik, kuid matemaatika on lihtne piisavalt tööd. See ei ole hea, et luua rahvusvaheline standard, et keegi mõistab.

Leida kirjeldatakse pildid

Edge detection on tavaliselt esimene samm iga arvuti nägemine algoritm, sest see teisendab pildi sisse must ja valge piirjoon, mida on lihtsam koos töötada.

  • saab loota vertikaalsed ja horisontaalsed servad ja aru saada, kui foto on tehtud linn või metsa. Linna hooned on sageli ruut.
  • saab seda ravida korter, füüsiline objekt ja nuputada raskuskese ja nurga sümmeetria, ja saada mõned numbrid, mida saate võrrelda kahte pilti, isegi kui üks on pööratud või mõõtkava.
  • saab vali tugev lõikuvad ääred, sest nurgad, ja võrrelda asukohad nurkades on kaks pilti, et aru saada, kuidas rida neid, või kui nad on sama objekt.

Kena, lihtne viis teha edge detection on kasutada sobel korraldaja:

Tõlge: Meil on luua kaks uut pilti, Gx, ja Gy. Selle pikslite uusi pilte saada oma väärtuste erinevus väärtuste pikslit ümber oma vastava positsiooni vana pilt. Selles Gx pildi, erinevused on paremalt vasakule suunas. Selles Gy pildi, erinevused on üles ja alla suunas. Pärast kaks uut pilti, on loodud, me ühendame need ühte lisades pikslit koos erilisel moel. Me ruudu väärtused, lisa need koos, ja võtta ruutjuurt. Tulemus on edge-avastatud pilt.
Mulle meeldib sobel algoritm, sest see on lihtne kohandada värvi vahe. Selle asemel, et lahutades pixel hall väärtusi, me lahutama kaks värve, kasutades kaugus L*u*v värv ruumi, mis on peaaegu perceptually ühtne.

Tulemused

Ma rakendatud kaks algoritme 400 rida C koodi. Kui programm käivitatakse antud PNG image, see loeb ja see teeb serva tuvastamise esimene halltoonid versioon, ja siis värvilise versiooni kasutades värvi erinevused. Mõlemal juhul pildid on normaliseeritud nii, et suurim erinevus on valge ning kõige madalam on must. Siin on tulemused.

Märkus: halltoonides pilt paistab hägune, ja värv üks ei. See on viga blogi sissekanne ja tuleb hiljem parandada. Rakendamise hägustab mõlemad versioonid enne tulemusi serva tuvastamise, et vähendada müra.

Halltoonid algnehouse-hall Traditsiooniliste Serva Tuvastamisehouse-sgray
Värv Originaalhouse-värv Värv Serva Tuvastamisehouse-colourdiff
Halltoonid algnelena-hall Traditsiooniliste Serva Tuvastamiselena-graydiff
Värv Originaallena-värv Värv Serva Tuvastamiselena-colourdiff

Loe lisaks

  • võrdlev uuring värv serv avastamiseks. autorid ei ole kasuta perceptually ühtlase värvuse ruumi. Nad lahutatakse RGB väärtused otse, mis võib selgitada oma pettumust valmistavaid tulemusi.
  • Wavelets ja Edge Detection – projekti ma tegin paar aastat tagasi edge detection kasutades mõnda muud meetodit.