Sadržaj:
- Korak 1: Uvod
- Korak 2: Softver
- Korak 3: Postavljanje hardvera
- Korak 4: Eksperimentirajte sa skenerom
- Korak 5: Neki drugi rezultati skeniranja
- Korak 6: GUI 3D skenera
Video: DIY 3D skener zasnovan na strukturiranoj svjetlosti i stereo viziji na jeziku Python: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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:
PRENOS PODATAKA PO SVJETLOSTI !!!: 4 koraka (sa slikama)
PRENOS PODATAKA KROZ SVETLOST !!!: Zdravo momci, posle dugo vremena ponovo sam se vratio da podelim novi i jednostavan projekat. U ovom projektu ću vam pokazati kako možete prenositi signale podataka s jednog mjesta na drugo putem Svjetlosti. Slanje podataka putem svjetla nije novi koncept, ali nedavno je postao
Mjerač intenziteta svjetlosti bez programiranja .: 7 koraka (sa slikama)
Mjerač intenziteta svjetlosti bez programiranja.: Ovo uputstvo govori o izradi osnovnog mjerača intenziteta svjetlosti bez upotrebe Arduina ili bilo kojeg drugog mikro kontrolera ili programiranja. Merač intenziteta svetlosti prikazuje različite nivoe intenziteta svetlosti sa različitim bojama LED dioda. Crvena LED
Kradljivac džula sa ultra jednostavnom kontrolom izlazne svjetlosti: 6 koraka (sa slikama)
Joule Thief sa ultra jednostavnom kontrolom izlazne svjetlosti: Krug Joule Thief odličan je unos za početnike u elektroničkom eksperimentu i reproduciran je bezbroj puta, zaista Google pretraživanje daje 245000 pregleda! Daleko najčešći krug je onaj koji je prikazan u 1. koraku
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
Izvor svjetlosti za makro fotografiju koristeći svjetla hladne katode: 9 koraka (sa slikama)
Makrofotografski izvor svjetlosti pomoću svjetla sa hladnom katodom: Prilikom snimanja pomoću svjetlosnog šatora izvor svjetlosti niskog intenziteta je vrlo koristan. CCFL (fluorescentno svjetlo s hladnom katodom) pronađeno na LCD ekranima savršeno je za tu svrhu. CCFL i povezani paneli za raspršivanje svjetlosti mogu se pronaći u pokvarenom prijenosnom računaru