Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
Ovaj 3D skener napravljen je korištenjem jeftinih konvencionalnih artikala poput video projektora i web kamera. 3D skener sa strukturiranom svjetlošću je uređaj za 3D skeniranje za mjerenje trodimenzionalnog oblika objekta pomoću projiciranih svjetlosnih uzoraka i sistema kamera. Softver je razvijen na osnovu strukturiranog svjetla i stereo vizije sa python jezikom.
Projiciranje uskog svjetlosnog pojasa na trodimenzionalnu oblikovanu površinu stvara liniju osvjetljenja koja izgleda iskrivljeno iz drugih perspektiva osim one projektora, i može se koristiti za egzaktnu geometrijsku rekonstrukciju oblika površine. Horizontalne i okomite svjetlosne trake projiciraju se na površinu objekta, a zatim ih snimaju dvije web kamere.
Korak 1: Uvod
Automatski uređaji za 3D snimanje (često se nazivaju 3D skeneri) omogućuju izgradnju visoko preciznih modela stvarnih 3D objekata na ekonomičan i vremenski efikasan način. Ovu smo tehnologiju eksperimentirali skeniranjem igračke kako bismo dokazali performanse. Specifične potrebe su: srednje visoka preciznost, laka upotreba, pristupačna cijena uređaja za skeniranje, samoregistrirano prikupljanje podataka o obliku i boji i na kraju operativna sigurnost i za operatera i za skenirane objekte. U skladu s tim zahtjevima, dizajnirali smo jeftin 3D skener zasnovan na strukturiranoj svjetlosti koji prihvaća svestrani pristup uzorku pruga u boji. Predstavljamo arhitekturu skenera, usvojene softverske tehnologije i prve rezultate njegove upotrebe u projektu koji se odnosi na 3D nabavku igračke.
U dizajnu našeg jeftinog skenera odlučili smo se za implementaciju jedinice emitera pomoću video projektora. Razlog je bila fleksibilnost ovog uređaja (koji omogućuje eksperimentiranje s bilo kojom vrstom svjetlosnog uzorka) i njegova široka dostupnost. Senzor može biti prilagođeni uređaj, standardni digitalni fotoaparat ili web kamera. mora podržavati visokokvalitetno snimanje boja (tj. stjecanje visokog dinamičkog raspona) i po mogućnosti s visokom rezolucijom.
Korak 2: Softver
Python jezik se koristio za programiranje iz tri razloga, jedan je jednostavan za učenje i implementaciju, dva možemo koristiti OPENCV za rutine povezane sa slikom, a tri je prenosiva među različitim operativnim sistemima tako da ovaj program možete koristiti u Windowsima, MAC -u i Linuxu. Također možete konfigurirati softver za upotrebu s bilo kojom vrstom kamere (web kamere, SLR ili industrijske kamere) ili projektorom s izvornom rezolucijom 1024X768. Bolje je koristiti kamere rezolucije više od dva puta. Osobno sam testirao performanse u tri različite konfiguracije, prva je bila s dva paralelna Microsoftova web kina i malim prijenosnim projektorom, druga je bila s dvije web kamere za kameru lifecam koje su se rotirale 15 stupnjeva jedna prema drugoj i Infocus projektorom, posljednja konfiguracija je bila s logitech web kamerama i Infocus projektor. Da bismo snimili oblak tačaka površine objekta, trebali bismo proći kroz pet koraka:
1. Projektiranje sivih uzoraka i snimanje slika s dvije kamere "SL3DS1.projcapt.py"
2. Obrada 42 slike svake kamere i hvatanje kodova tačaka "SL3DS2.procimages.py"
2. Podešavanje praga za odabir maskiranja za područja koja će se obraditi "SL3DS3.adjustthresh.py"
4. Pronađite i sačuvajte slične tačke u svakoj kameri "SL3DS4.calcpxpy.py"
5 Izračunajte X, Y i Z koordinate oblaka tačaka "SL3DS5.calcxyz.py"
Izlaz je PLY datoteka s podacima o koordinatama i boji tačaka na površini objekta. Možete otvoriti datoteke PLY pomoću CAD softvera poput Autodesk proizvoda ili softvera otvorenog koda poput Meshlaba.
www.autodesk.com/products/personal-design-a…
Python 2.7, OPENCV modul i NUMPY trebaju biti instalirani za pokretanje ovih Python programa. Takođe sam razvio grafički interfejs za ovaj softver u TKINTER -u koji možete pronaći u šestom koraku sa dva uzorka skupova podataka. Dodatne informacije o ovoj temi možete pronaći na sljedećim web stranicama:
docs.opencv.org/modules/calib3d/doc/camera_…
docs.opencv.org/modules/highgui/doc/reading…
www.3dunderworld.org/software/
arxiv.org/pdf/1406.6595v1.pdf
mesh.brown.edu/byo3d/index.html
www.opticsinfobase.org/aop/fulltext.cfm?uri…
hera.inf-cv.uni-jena.de:6680/pdf/Brauer-Bur…
Korak 3: Postavljanje hardvera
Hardver se sastoji od:
1. Dvije web kamere (Logitech C920C)
2. Infocus LP330 projektor
3. Postolje za kameru i projektor (napravljeno od akrilnih ploča od 3 mm i 6 mm HDF drva rezanog laserskim rezačem)
Dvije kamere i projektor trebaju biti povezani s računarom s dva video izlaza, poput prijenosnog računara, a zaslon projektora treba konfigurirati kao proširenje za glavnu radnu površinu prozora. Ovdje možete vidjeti slike kamera, projektora i stalka. Datoteka za crtanje spremna za rezanje je priložena u SVG formatu.
Projektor je Infocus LP330 (izvorna rezolucija 1024X768) sa sljedećim specifikacijama. Svjetlina: 650 lumena Boja Izlazna svjetlost: ** Kontrast (Potpuno uključeno/isključeno): 400: 1 Automatski Iris: Bez izvorne rezolucije: 1024x768 Razmjera širine: 4: 3 (XGA) Video načini rada: ** Režimi podataka: MAX 1024x768 Maksimalna snaga: 200 W Napon: 100V - 240V Veličina (cm) (VxŠxD): 6 x 22 x 25 Težina: 2,2 kg Trajanje lampe (puna snaga): 1.000 sati Tip lampe: UHPLLampa Snaga: 120 W Količina lampe: 1 Vrsta ekrana: 2 cm DLP (1) Standardni zum objektiv: 1,25: 1 Fokus: Ručna udaljenost bacanja (m): 1,5 - 30,5 Veličina slike (cm): 76 - 1971
Ovaj video projektor se koristi za projiciranje strukturiranih svjetlosnih uzoraka na objekt za skeniranje. Strukturirani uzorak sastoji se od okomitih i vodoravnih bijelih svjetlosnih traka koje se spremaju u datoteku s podacima, a web kamere snimaju te iskrivljene trake.
Po mogućnosti koristite one kamere koje se softverski upravljaju jer morate prilagoditi fokus, svjetlinu, rezoluciju i kvalitetu slike. Moguće je koristiti DSLR fotoaparate sa SDK -ovima koje isporučuje svaka marka.
Sastavljanje i testiranja provedena su u Kopenhagenu Fablabu uz njegovu podršku.
Korak 4: Eksperimentirajte sa skenerom
Za testiranje sistema korištena je igračka s ribom i možete vidjeti snimljenu sliku. Sva snimljena datoteka, kao i oblak izlaznih tačaka, uključeni su u priloženu datoteku, možete otvoriti datoteku oblaka PLY točaka pomoću Meshlaba:
meshlab.sourceforge.net/
Korak 5: Neki drugi rezultati skeniranja
Ovdje možete vidjeti skeniranje ljudskog lica i 3D skeniranje zida. Uvijek postoje neke izvanredne točke zbog refleksije ili netočnih rezultata slike.
Korak 6: GUI 3D skenera
Za testiranje softvera za 3D skeniranje u ovom koraku dodajem dva skupa podataka, jedan je skeniranje ribe, a drugi samo ravni zid kako bih provjerio njegovu točnost. Otvorite ZIP datoteke i pokrenite SL3DGUI.py. Za instalaciju provjerite korak 2. Pošaljite poruku u moj pretinac ovdje za sve izvorne kodove.
Za korištenje dijela za 3D skeniranje morate instalirati dvije kamere i projektor, ali za ostale dijelove samo kliknite gumb. Za testiranje uzorka podataka prvo kliknite proces, zatim prag, stereo podudaranje i na kraju oblak točaka. Instalirajte Meshlab da vidite oblak točaka.
meshlab.sourceforge.net/
Preporučuje se:
Kako koristiti multimetar na tamilskom jeziku. Vodič za početnike - Multimetar za početnike: 8 koraka
Kako koristiti multimetar na tamilskom jeziku. Vodič za početnike | Multimetar za početnike: Pozdrav prijatelji, U ovom vodiču objasnio sam kako koristiti multimetar u svim vrstama elektroničkih kola u 7 različitih koraka, kao što su 1) test kontinuiteta za otklanjanje problema u hardveru 2) Mjerenje istosmjerne struje 3) Testiranje diode i LED diode 4) Mjerenje Resi
Program za jednostavno dodavanje u programskom jeziku Shakespeare: 18 koraka
Program za jednostavno dodavanje u programskom jeziku Shakespeare: Šekspirov programski jezik (SPL) primjer je ezoterijskog programskog jezika, o kojem je možda zanimljivo naučiti i zabavno ga je koristiti, ali nije posebno koristan u stvarnim aplikacijama. SPL je jezik u kojem izvorni kod r
Kodirajte i testirajte računar na mašinskom jeziku: 6 koraka
Kodiranje i testiranje računara na mašinskom jeziku: U ovom uputstvu ću vam pokazati kako kodirati i testirati računarski program na mašinskom jeziku. Mašinski jezik je maternji jezik računara. Budući da se sastoji od nizova 1s i 0s, ljudi ga ne razumiju lako. Na posao
Jednostavan sat na jeziku C: 4 koraka
Jednostavan sat na jeziku C: Ideja je stvoriti jednostavan sat na jeziku C, ali prvo moramo postaviti naš softver i upoznati se sa nekim stvarima koje ćemo koristiti
Odabir i mjesto zasnovano na viziji sa UArm-om: 6 koraka
Odabir i mjesto zasnovano na viziji sa UArm-om: Nedavno se većina upita koje čujemo od vas odnosi na aplikacije uArm zasnovane na viziji, poput prepoznavanja objekata, korelacije kamere-uArm, itd. Zapravo smo radili na tome za Proveli smo jednostavnu viziju zasnovanu na