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/23 18:33] pdragojevic [Algoritam] |
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 imamo već dulje vrijeme, no sada to postaje automatizirano 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 može odrediti njihova dimenzija. 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. | ||
- | ===== Algoritam ===== | ||
- | U ovom poglavlju opisan je algoritam za mjerenje dimenzija objekata na fotografiji. Kako bi odredili dimenzije objekata na fotografiji potreban nam je referentan objekt. Referentni objekt mora zadovoljavati sljedeća svojstva: | ||
- | | + | 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 jednostavno rješavanje ovog problema. | ||
+ | ===== 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: | ||
+ | |||
+ | | ||
- mora biti lako identificiran, | - mora biti lako identificiran, | ||
- mora biti jednako udaljen od kamere kao i svi ostali objekti | - mora biti jednako udaljen od kamere kao i svi ostali objekti | ||
- | Nakon što se na fotografiji pronađe referentni objekt računaju se njegove dimenzije na fotografiji u odnosu na stvarne dimenzije. Na taj način sljedećom vrlo jednostavnom formulom određuje se koliko piksela je potebno | + | Nakon što se na fotografiji pronađe referentni objekt računaju se njegove dimenzije na fotografiji u odnosu na stvarne dimenzije. Na taj način sljedećom vrlo jednostavnom formulom određuje se koliko piksela je potrebno |
- | //piksela_po_milimetru | + | //piksela_po_mjernoj_jedinici |
Zatim kako bi se odredila dimenzija nekog nepoznatog objekta samo se primjeni ista formula no sada je nepoznanica stvarna_dimenzija_objekta: | Zatim kako bi se odredila dimenzija nekog nepoznatog objekta samo se primjeni ista formula no sada je nepoznanica stvarna_dimenzija_objekta: | ||
- | // | + | // |
- | ===== OpenCV ===== | + | 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: |
- | Obradu fotografije vrlo je efikasno i jednostavno implementirati pomoću OpenCV biblioteke. | + | // |
- | OpenCV | + | ===== OpenCV |
+ | 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 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 | + | 1.1 Orginalna fotografija [3] |
+ | |||
+ | Prvi korak obrade | ||
{{ https:// | {{ https:// | ||
- | vwe | + | 1.2 Detektirani rubovi objekata [3] |
- | {{ https://www.uniquesoftwaredev.com/wp-content/uploads/ | + | Nadalje je potrebno pronaći konture objekata. To se radi pozivom metode |
+ | Na fotografiji 1.3 prikazan je konačni izlaz, gdje je pomoću pravokutnika označen svaki objekt zasebno kao i njegova visina i širina. | ||
- | ===== Zaključak ===== | + | {{ https:// |
+ | 1.3 Završni izlaz programa [3] | ||
+ | |||
+ | ===== 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 58: | Redak 69: | ||
[5] [[https:// | [5] [[https:// | ||
+ | |||
+ | |||
+ | ~~DISCUSSION~~ | ||
+ | |||