Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:fdd:mjerenje_dimenzija_po_fotografiji [2022/05/24 16:19] pdragojevic [OpenCV] |
racfor_wiki:fdd:mjerenje_dimenzija_po_fotografiji [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 1: | Redak 1: | ||
===== Sažetak ===== | ===== Sažetak ===== | ||
- | Danas se može primjetiti ubrzani razvoj računalnog vida, što omogućava razne nove primjene. Jedna od tih primjena je mjerenje dimenzija objekata na forografiji. Primjenu ovakvih metoda postoji već dulje vrijeme, no sada su te metode automatizirane te prestaje potreba za ljudskim intervencijama. Klasičan primjer uporabe ove metode možemo vidjeti u svakoj kriminalističkoj seriji, gdje se objekti fotografiraju pored ravnala da se kasnije mogu odrediti njihove dimenzije. U ovom seminaru biti će opisan sličan postupak, gdje postoji referentni objekt čiju veličinu poznajemo i pomoću njega određujemo veličinu svih ostalih objekata na fotografiji. Također ukratko će se opisati programksa knjižnica OpenCV koja omogućava | + | |
+ | U ovom seminaru objašnjen je jednostavan način kako odrediti dimenziju objekta na fotografiji. Prikazani algoritam kojim je to moguće ostvariti koristi referentni objekt koji se mora nalaziti na fotografiji, | ||
+ | ===== Uvod ===== | ||
+ | Danas se može primjetiti ubrzani razvoj računalnog vida, što omogućava razne nove primjene. Jedna od tih primjena je mjerenje dimenzija objekata na forografiji. Primjenu ovakvih metoda postoji već dulje vrijeme, no sada su te metode automatizirane te prestaje potreba za ljudskim intervencijama. Klasičan primjer uporabe ove metode možemo vidjeti u svakoj kriminalističkoj seriji, gdje se objekti fotografiraju pored ravnala da se kasnije mogu odrediti njihove dimenzije. U ovom seminaru biti će opisan sličan postupak, gdje postoji referentni objekt čiju veličinu poznajemo i pomoću njega određujemo veličinu svih ostalih objekata na fotografiji. Također ukratko će se opisati programksa knjižnica OpenCV koja omogućava | ||
===== Algoritam za mjerenje dimenzija objekata na fotografiji ===== | ===== Algoritam za mjerenje dimenzija objekata na fotografiji ===== | ||
U ovom poglavlju opisan je algoritam za mjerenje dimenzija objekata na fotografiji. Kako bi se odredile dimenzije objekata na fotografiji potreban je referentan objekt. Referentni objekt mora zadovoljavati sljedeća svojstva: | U ovom poglavlju opisan je algoritam za mjerenje dimenzija objekata na fotografiji. Kako bi se odredile dimenzije objekata na fotografiji potreban je referentan objekt. Referentni objekt mora zadovoljavati sljedeća svojstva: | ||
Redak 15: | Redak 18: | ||
// | // | ||
+ | |||
+ | Postoji i metoda mjerenja dimenzija objekata bez referentnog objekta. U tom sljučaju mora biti poznata udaljenost objekta od kamere i žarišna duljina leće. Do žarišne duljine može se jednostavno doći ako se zna kojom kamerom je fotografija fotografirana. U tom je slučaju omjer veličine objekta na fotografiji i žarišne udaljenosti leće jednak omjeru stvarne veličine objekta i udaljenosti objekta od leće. Iz te jednakosti može se jednostavno doći do veličine objekta na fotografiji pomoću sljedeće jednadžbe: | ||
+ | |||
+ | // | ||
===== OpenCV ===== | ===== OpenCV ===== | ||
Obradu fotografije vrlo je efikasno i jednostavno implementirati pomoću OpenCV programske knjižnice. | Obradu fotografije vrlo je efikasno i jednostavno implementirati pomoću OpenCV programske knjižnice. | ||
- | |||
OpenCV je programska knjižnica otvorenog koda za računalni vid i strojno učenje. OpenCV ima BSD licencu što omogućava široku uporabu korištenja te modificiranja koda. | OpenCV je programska knjižnica otvorenog koda za računalni vid i strojno učenje. OpenCV ima BSD licencu što omogućava široku uporabu korištenja te modificiranja koda. | ||
- | |||
OpenCV sadrži preko 2500 optimiziranih algoritama, što uključuje klasične kao i najsuvremenije algoritme računalnog vida i strojnog učenja. Ti algoritmi omogućavaju prepoznavanje lica, prepoznavanje gesti, prepoznavanje pokreta, identifikaciju objekata u prostoru te njihovo praćenje, prepoznavanje i obrađivanje 3D modela, obradu fotografije tako da iz skupa fotografija " | OpenCV sadrži preko 2500 optimiziranih algoritama, što uključuje klasične kao i najsuvremenije algoritme računalnog vida i strojnog učenja. Ti algoritmi omogućavaju prepoznavanje lica, prepoznavanje gesti, prepoznavanje pokreta, identifikaciju objekata u prostoru te njihovo praćenje, prepoznavanje i obrađivanje 3D modela, obradu fotografije tako da iz skupa fotografija " | ||
- | |||
OpenCV je izvorno pisan u C++ a ima sučelje za Javu, Python, C++ i Matlab. API za ova sučelja mogu se naći u službenoj online dokumentaciji. OpenCv se može koristiti na Windowsu, Linuxu, Androidu i Mac OS-u. | OpenCV je izvorno pisan u C++ a ima sučelje za Javu, Python, C++ i Matlab. API za ova sučelja mogu se naći u službenoj online dokumentaciji. OpenCv se može koristiti na Windowsu, Linuxu, Androidu i Mac OS-u. | ||
- | |||
Pomoću niza funkcionalnosti OpenCV-a moguće je implementirati i mjerenje dimenzija objekata na fotografiji. | Pomoću niza funkcionalnosti OpenCV-a moguće je implementirati i mjerenje dimenzija objekata na fotografiji. | ||
Redak 31: | Redak 34: | ||
===== Praktični primjer ===== | ===== Praktični primjer ===== | ||
- | Kako bi se pobliže prikazao algoritam iz prethodnog poglavlja u ovom poglavlju biti će opisana implementacija mjerenja dimenzija objekata na sljedećoj | + | Kako bi se pobliže prikazao algoritam iz prethodnog poglavlja u ovom poglavlju biti će opisana implementacija mjerenja dimenzija objekata na fotografiji |
{{ https:// | {{ https:// | ||
- | Prvi korak obrade je pronalazak objekata na fotografiji. Nakon pretvorbe fotografije u crno bijelu, pozivom metode // | + | 1.1 Orginalna fotografija [3] |
+ | |||
+ | Prvi korak obrade je pronalazak objekata na fotografiji. Nakon pretvorbe fotografije u crno bijelu, pozivom metode // | ||
{{ https:// | {{ https:// | ||
- | Nadalje je potrebno pronaći konture | + | 1.2 Detektirani rubovi |
- | Na sljedećoj fotografiji prikazan je konačni izlaz, gdje je pomoću pravokutnika označen svaki objekt zasebno kao i njegova visina i širina. | + | Nadalje je potrebno pronaći konture objekata. To se radi pozivom metode // |
+ | |||
+ | Na fotografiji | ||
{{ https:// | {{ https:// | ||
+ | |||
+ | 1.3 Završni izlaz programa [3] | ||
===== Zaključak ===== | ===== Zaključak ===== | ||
+ | Mjerenje dimenzija objekata na fotografiji postalo je lakše razvojem računalnog vida. Pojavile su se programske knjižnice kao što je OpenCV koje omogućavaju jednostavno rješavanje ovog problema. Da bi se objek na slici mogao izmjeriti, na slici se treba nalaziti referentni objekt poznatih dimenzija i mora biti na jednakoj udaljenosti od kamere kao objekt čije se dimenzije mjere. Praktičnim primjerom prikazano je mjerenje dimenzija autića i plišane igračke uz novčić kao referentni objekt. Često se u stvarnom svijetu trebaju riješiti složeniji problemi u kojima referentni objekt nije na istoj udaljenosti kao objek koji se mjeri. Tada postupak postaje dosta složeniji. | ||
===== Literatura ===== | ===== Literatura ===== | ||
Redak 60: | Redak 69: | ||
[5] [[https:// | [5] [[https:// | ||
+ | |||
+ | |||
+ | ~~DISCUSSION~~ | ||
+ | |||