Prvi domaći - projektivna preslikavanja, do 29.10. u 12:00

4) Aplikacija

 
Slika Tijana Jevtic
4) Aplikacija
napisao/la Tijana Jevtic - četvrtak, 25. oktobar 2018, 14:03
 
Tijana Jevtic 421/2016

Program za otklanjanje projektivne distorzije sa slike

  • programski jezik: C++
  • biblioteke: openCV (za manipulaciju slike), Eigen (za laksi rad sa matricama)
  • algoritmi: naivni algoritam (koriscen za nalazenje preslikavanja izmedju skupova od po 4 tacke)

Tips and Tricks:
 - Sto je ulazna slika boljeg kvaliteta, boljeg kvaliteta ce biti i slika na izlazu (u odnosu na to da je ulazna slika bila losijeg kvaliteta; to ne znaci da ce na izlazu biti bolja slika od ulazne - skoro nemoguce)!
 - U zavisnosti od toga koje se tacke izaberu, naravno, dobice se drugacija slika (moze se jasno videti u prilozenim slikama).
 - Sto se nasumicnije izaberu tacke, dobija se zabavnija slika!

Kratko uputstvo za koriscenje programa:

1. Program se pokrece iz komandne linije uz navodjenje putanje do slike sa koje je potrebno otkloniti projektivnu distorziju.
U slucaju da slika ne postoji na datoj putanji ili da se desila greska prilikom ucitavanja iste, izvrsavanje programa se prekida i ispisuje se relevantna poruka o gresci.

2. Sa ucitane slike se biraju 4 tacke (prakticno: objekat sa kog zelimo ukloniti distorziju) i
nove 4 tacke u koje je potrebno da se prethodno izabrane tacke preslikaju (prakticno: gde, otprilike, zelimo da se izabrani objekat nalazi na novoj slici).
Tacke se biraju klikom na sliku.
U slucaju da korisnik ne izabere tacke, dobija se slika u istoj dimenziji kao i polazna, bez icega - crna.

3. Novodobijena slika je sacuvana pod nazivom "new_image.png" u tekucem direktorijumu.






Slika Srdjan Vukmirovic
Odgovor: 4) Aplikacija
napisao/la Srdjan Vukmirovic - petak, 26. oktobar 2018, 21:32
 

Deluje dobro. 

U svakom slucaju biste trebali da implementirate (bar) naivni algoritam i da posaljete test primer.

Slika Tijana Jevtic
Odgovor: 4) Aplikacija
napisao/la Tijana Jevtic - subota, 27. oktobar 2018, 12:13
 

U opisu prethodne poruke je stavljeno da je koriscen naivni algoritam za pronalazenje preslikavanja izmedju skupa od po 4 tacke.

U kod sam dodala ispise i u prilogu je slika onoga sto se sada ispisuje u terminalu kada se program pokrene.
Dakle, prve 4 koordinate (brojevi u zagradama) su prve 4 tacke, a druge 4 tacke su koordinate u nastavku.
Ispisane su matrice koje se dobijaju od tacaka i krajnje preslikavanje P.

Nadam se da je jasno da je zadatak uradjen bez ikakve ugradjene funkcije za otklanjanje distorzije ili bilo cega slicnog.
Sve je uradjeno od nule.