Furjė transformacija senoms nuotraukoms

Posted: 2013-11-11 in Pezalai
Žymos:,

Greičiausiai turite senų nuotraukų, kurios padarytos ant popieriaus su duobutėmis. Nuskenuotos jos atrodo labai nekaip. Seniau fotoateljė įstaigos specialiai naudodavo tokį popierių, kad būtų sunku padaryti kopijas. Panašiai atrodo ir iš žurnalų nuskenuoti vaizdeliai. Aišku, skeneriai turi tokią „descreen“ funkciją, bet juk ne visada patys skenuojame, o tiesiog gauname kažkokią panašią nuotrauką.

Mokslas mums padės sudoroti tokias nuotraukas. Idėja jau sena, kaip patys kompiuteriniai dorojimai, tik, kad ir kaip būtų keista, ne visiems žinoma. Tai — Furjė transformacija (Fourier transformation). Ši transformacija laiku pagrįstą koordinačių sistemą gali paversti į dažniu pagrįstą sistemą. Laiko-dažnio konvertavimas, jei norite. Naudojama, be abejo, signalų analizėje, programiniuose ekvalaizeriuose ir daugybėje kitų vietų. Pavyzdžiui, JPEG glaudinimo algoritmuose. Na, ten naudojama DCT (discrete cosine transformation), bet iš esmės tai ta pati Furjė, tik kitokiu metodu.

Nuotraukos su duobutėmės turi vieną savybę… pasikartojančias duobutes. Duobutės kartojasi tam tikru dažniu. Jei galėtume paveikslėlį transformuoti į dažnių erdvę (koordinačių sistemą), tai tos duobutės ten būtų aiškiai matomos. Ir jei jas „nuslopintume“, tai vėl atgal į „laiko“ (t.y. vaizdo pikselių) koordinates atversta nuotrauka turėtų likti be tų duobučių. Teorija paprasta, praktika… irgi!

Visų pirma, reikia turėti programą GIMP. Jei naudojatės Photoshop programa Windows OS, yra analogiški įskiepiai ir procedūra. Bet aš Windows neturiu, tad man belieka GIMP. Jei norėsite, Photoshop ir GIMP Windows OS aplinkai, susigūglinsite pagal raktažodžius fourier transform plugin ar panašiai.

O štai Linux aprašysiu detaliau. Pirmiausia reikia įsidiegti GIMP ir FFTW3 kūrimo paketus:

sudo apt-get install libgimp2.0-dev
sudo apt-get install libfftw3-dev

Tada reikia parsisiųsti Furjė transformacijos GIMP įskiepio išeities kodą iš kūrėjo tinklapio. Šio įrašo metu naujausia versija buvo 0.4.2. Toliau tą reikalą reikia išsipakuoti, sukompiliuoti ir įdiegti:

tar xvzf fourier-0.4.2.tar.gz
cd fourier-0.4.2
make
make install

Viskas, GIMP programoje filtrų meniu prie Generic atsiranda du punktai: Fourier Forward ir Fourier Inverse.

Suradau smetoniškojo Kauno temoje nuotraukėlę, kuri ypač tinkama tokiam darbui. Kaip matote iliustracijoje, nuotrauka pakankamai „grūdėta“, bet tik dėl to, kad ji skenuota iš seno laikraščio. Taip pat matyti ir išskleistas filtrų meniu:

Furjė transformacijos filtras senų nuotraukų tvarkymui | GIMP | Foto | Darau, blė

Ką gi, spauskite FFT Forward ir gausite va tokį, visiškai nesuvokiamą, vaizdą, nuotraukos atvaizdą dažnių koordinačių sistemoje:

Furjė transformuota nuotrauka dažnių koordinačių sistemoje | GIMP | Foto | Darau, blė

Matote keturis taškus? Tai ir yra nuotraukos „grūdo“ pasikartojimas. Paprasčiausias būdas tvarkyti tokias nuotraukas — užpiešti šias krūveles juodos spalvos teptuku va šitaip:

Pasikartojančių dažnių elementų naikinimas Furjė transformuotoje nuotraukoje | GIMP | Foto | Darau, blė

Dabar spauskite FFT Inverse ir žiūrėkite, kas bus:

Atstatyta iš Furjė transformacijos nuotrauka su sumažintu triukšmu | GIMP | Foto | Darau, blė

Nuotrauka atrodo geriau. Deja, toks primityvus koregavimas turi pašalinį efektą — grūdėtumas pašalinamas nepilnai ir dar sugadina nuotraukos kampus, ten matosi muarinis triukšmas.

Tobulesnis būdas koreguoti tokias nuotraukas — naudotis klonavimo įrankiu ir pasikartojančių dažnių elementus užpaišyti aplinkiniais pikseliais:

Pasikartojančių dažnių elementų užklonavimas Furjė transformuotoje nuotraukoje | GIMP | Foto | Darau, blė

Spustelėkite vaizdą ir išsididinkite, pamatysite kiek sunkiai įžiūrimus klonavimo įrankio „ratukus“. O po klonavimo darbų nuotrauka Furjė erdvėje atrodo šitaip:

Furjė transformuota nuotrauka su užklonuotais pasikartojančių dažnių elementais | GIMP | Foto | Darau, blė

Vėl atstatom nuotrauką ir žiūrim, kas gaunasi:

Atstatyta nuotrauka po Furjė transformacijos su užklonuotais pasikartojančių taškų elementais | GIMP | Foto | Darau, blė

Na, nelabai matosi turbūt, tai štai, palyginimui, originali nuotrauka (išsididinkite apžiūrai):

Kauno vandentiekio statyba | GIMP | Foto | Darau, blė

… ir koreguota nuotrauka. Nei muaro kampuose, nei tokios daugybės pasikartojančių pikselių. Kur kas gražesnis vaizdas:

Kauno vandentiekio statyba po korekcijos su Furjė transformacijos filtru | GIMP | Foto | Darau, blė

Atkreipkite dėmesį į veidus. O geriausia — išsisaugokite jas kompiuteryje ir su kokia nors vaizdų peržiūros programa junginėkitės tarp jų. Pamatysite skirtumus akivaizdžiau.

Tokią nuotrauką jau galima tobulinti ir toliau: tvarkyti kitus triukšmus, pažeidimus, kontrastą, spalvingumą ir panašiai.

Konspektėlis:

Sėkmės koreguojant panašias nuotraukas.

Advertisements

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti / Keisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti / Keisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti / Keisti )

Google+ photo

Jūs komentuojate naudodamiesi savo Google+ paskyra. Atsijungti / Keisti )

Connecting to %s