Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:fdd:mjerenje_dimenzija_po_fotografiji [2022/05/24 16:21]
pdragojevic [Praktični primjer]
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 jednostavnu implementaciju ovog problema.+ 
 +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, kako bi usporedili veličine na fotografiji i u stvarnosti. Ukratko je i opisan pokazni primjer koji koriste programsku knjižnicu OpenCV koja omogućava razne obrade fotografije. 
 +===== 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 ===== ===== 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:
  
 //stvarna_dimenzija_objekta= dimenzija_objekta_na_fotografiji / piksela_po_mjernoj_jedinici  // //stvarna_dimenzija_objekta= dimenzija_objekta_na_fotografiji / piksela_po_mjernoj_jedinici  //
 +
 +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:
 +
 +//stvarna_dimenzija_objekta = (dimenzija_objekta_na_fotografiji * udaljenost_objekta_do_leće) / žarišna_duljina_leće //
  
 ===== OpenCV ===== ===== OpenCV =====
Redak 27: 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 fotografiji. Na fotografiji se nalazi novčić koji predstavlja referenti objekt kao i dva objekta (autić i plišana ptica) čije su dimenzije nepoznate. Sve daljne obrade fotografije obavljene su korištenjem OpenCV programske knjižnice.+Kako bi se pobliže prikazao algoritam iz prethodnog poglavlja u ovom poglavlju biti će opisana implementacija mjerenja dimenzija objekata na fotografiji 1.1. Na fotografiji se nalazi novčić koji predstavlja referenti objekt kao i dva objekta (autić i plišana ptica) čije su dimenzije nepoznate. Sve daljne obrade fotografije obavljene su korištenjem OpenCV programske knjižnice. Izvorni kod korišten u ovom primjeru nalazi se [[https://ferhr-my.sharepoint.com/personal/pd51586_fer_hr/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fpd51586%5Ffer%5Fhr%2FDocuments%2Fobject%5Fdimension%2Ezip&parent=%2Fpersonal%2Fpd51586%5Ffer%5Fhr%2FDocuments&ga=1 | ovdje ]].
  
 {{ https://www.uniquesoftwaredev.com/wp-content/uploads/2019/06/pixel-to-size.jpg?350x230 |Fotografija prije obrade }} {{ https://www.uniquesoftwaredev.com/wp-content/uploads/2019/06/pixel-to-size.jpg?350x230 |Fotografija prije obrade }}
  
-Prvi korak obrade je pronalazak objekata na fotografiji. Nakon pretvorbe fotografije u crno bijelu, pozivom metode //cv2.Canny()// detektiraju se rubovi. Metoda //cv2.Canny()// to radi tako da traži gdje dolazi do velikih promjena gradijenata. Na sljedećoj fotografiji prikazana je detekcija rubova.+  1.1 Orginalna fotografija [3]   
 + 
 +Prvi korak obrade je pronalazak objekata na fotografiji. Nakon pretvorbe fotografije u crno bijelu, pozivom metode //cv2.Canny()// detektiraju se rubovi. Metoda //cv2.Canny()// to radi tako da traži gdje dolazi do velikih promjena gradijenata. Na fotografiji 1.2 prikazana je detekcija rubova.
  
 {{ https://www.uniquesoftwaredev.com/wp-content/uploads/2019/06/edge-detect.png?350x230 | Detektirani rubovi objekata }} {{ https://www.uniquesoftwaredev.com/wp-content/uploads/2019/06/edge-detect.png?350x230 | Detektirani rubovi objekata }}
  
-Nadalje je potrebno pronaći konture objekata. To se radi pozivom metode //cv2.findCounters()// koja prima prethodno detektirane rubove. Kada se pronađu konture zaključuje se da su to traženi objekt gdje se skroz lijevi odnosi na referentni. Sada je moguće izračunati broj piksela po mjernoj jedinici pomoću referentnog objekta. Pomoću te vrijednosti prolazeći kroz sve detektirane objekte i prema formuli iz prethodnog poglavlja računa se stvarna dimenzija objekta.+  1.2 Detektirani rubovi objekata [3]  
  
-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 //cv2.findContours()// koja prima prethodno detektirane rubove. Kada se pronađu konture zaključuje se da su to traženi objekt gdje se skroz lijevi odnosi na referentni. Sada je moguće izračunati broj piksela po mjernoj jedinici pomoću referentnog objekta. Pomoću te vrijednosti prolazeći kroz sve detektirane objekte i prema formuli iz prethodnog poglavlja računa se stvarna dimenzija objekta. 
 + 
 +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. 
  
 {{ https://www.uniquesoftwaredev.com/wp-content/uploads/2019/06/dawn-bounding.jpg?350x230 | Završni izlaz programa }} {{ https://www.uniquesoftwaredev.com/wp-content/uploads/2019/06/dawn-bounding.jpg?350x230 | Završni izlaz programa }}
 +
 +  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 56: Redak 69:
  
 [5] [[https://docs.opencv.org/4.x/|OpenCV documentation]] [5] [[https://docs.opencv.org/4.x/|OpenCV documentation]]
 +
 +
 +~~DISCUSSION~~
 +
  
  
racfor_wiki/fdd/mjerenje_dimenzija_po_fotografiji.1653409278.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0