Indholdsfortegnelse:
- Trin 1: Introduktion
- Trin 2: Software
- Trin 3: Hardwareopsætning
- Trin 4: Eksperimentering med scanner
- Trin 5: Nogle andre scanningsresultater
- Trin 6: 3D -scanner GUI
Video: DIY 3D -scanner baseret på struktureret lys og stereovision i Python -sprog: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Denne 3D -scanner blev lavet ved hjælp af billige konventionelle emner som videoprojektor og webcams. En struktureret lys 3D-scanner er en 3D-scanningsenhed til måling af en tredimensionel form af et objekt ved hjælp af projicerede lysmønstre og et kamerasystem. Software blev udviklet baseret på struktureret lys og stereosyn med pythonsprog.
Ved at projicere et smalt lysbånd på en tredimensionel formet overflade frembringes en belysningslinje, der forekommer forvrænget fra andre perspektiver end projektorens og kan bruges til en nøjagtig geometrisk rekonstruktion af overfladeformen. Horisontale og lodrette lysbånd projiceres på objektoverfladen og fanges derefter af to webkameraer.
Trin 1: Introduktion
Automatiske 3D-indsamlingsenheder (ofte kaldet 3D-scannere) gør det muligt at bygge meget præcise modeller af ægte 3D-objekter på en omkostningseffektiv og tidseffektiv måde. Vi har eksperimenteret med denne teknologi til at scanne et legetøj for at bevise ydeevnen. Specifikke behov er: mellemhøj nøjagtighed, let at bruge, overkommelige omkostninger ved scanningsenheden, selvregistreret indsamling af form- og farvedata og endelig driftssikkerhed for både operatøren og de scannede objekter. I henhold til disse krav designede vi en billig 3D-scanner baseret på struktureret lys, der anvender en alsidig tilgang til farvet stribe. Vi præsenterer scannerarkitekturen, de anvendte softwareteknologier og de første resultater af dens anvendelse i et projekt vedrørende 3D -anskaffelse af et legetøj.
I designet af vores billige scanner valgte vi at implementere emitterenheden ved hjælp af en videoprojektor. Årsagen var denne enheds fleksibilitet (som gør det muligt at eksperimentere enhver form for lysmønster) og dens brede tilgængelighed. Sensoren kan enten være en brugerdefineret enhed, et standard digitalt stillkamera eller et webcam. den skal understøtte farveoptagelse af høj kvalitet (dvs. erhvervelse af højt dynamisk område) og muligvis med høj opløsning.
Trin 2: Software
Python -sprog blev brugt til programmering af tre grunde, en det er let at lære og implementere, to vi kan bruge OPENCV til billedrelaterede rutiner og tre det er bærbart blandt forskellige operativsystemer, så du kan bruge dette program i Windows, MAC og Linux. Du kan også konfigurere softwaren til brug med alle slags kameraer (webkameraer, spejlreflekskameraer eller industrikameraer) eller projektor med indbygget 1024X768 -opløsning. Det er bedre at bruge kameraer med mere end to gange opløsning. Jeg testede personligt ydelsen i tre forskellige konfigurationer, den første var med to parallelle Microsoft webcam biografer og en lille bærbar projektor, den anden var med to lifecam biograf webkameraer, der roterede 15 grader mod hinanden og Infocus projektor, sidste konfiguration var med logitech webkameraer og Infocus -projektor. For at fange objektskyens objektsky skal vi gå gennem fem trin:
1. Projicering af grå mønstre og optagelse af billeder fra to kameraer "SL3DS1.projcapt.py"
2. Behandler de 42 billeder af hvert kamera og optager punktkoder "SL3DS2.procimages.py"
2. Justering af tærskel for at vælge maskering for områder, der skal behandles "SL3DS3.adjustthresh.py"
4. Find og gem lignende punkter i hvert kamera "SL3DS4.calcpxpy.py"
5 Beregn X-, Y- og Z -koordinaterne for punktskyen "SL3DS5.calcxyz.py"
Outputtet er en PLY -fil med koordinat- og farveoplysninger om punkter på objektoverfladen. Du kan åbne PLY -filer med CAD -software som Autodesk -produkter eller en open source -software som Meshlab.
www.autodesk.com/products/personal-design-a…
Python 2.7, OPENCV -modul og NUMPY bør installeres for at køre disse Python -programmer. Jeg har også udviklet en GUI til denne software i TKINTER, som du kan finde i trin seks med to eksempeldatasæt. Du kan finde yderligere oplysninger om dette emne på følgende websteder:
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…
Trin 3: Hardwareopsætning
Hardware består af:
1. To webkameraer (Logitech C920C)
2. Infocus LP330 projektor
3. Kamera og projektorstativ (fremstillet af 3 mm akrylplader og 6 mm HDF -træskæring med laserskærer)
To kameraer og projektor skal forbindes til en computer med to videooutput som en bærbar computer, og projektorens skærm skal konfigureres som en udvidelse til hovedvinduet på skrivebordet. Her kan du se billeder af kameraer, projektor og stativ. Tegningsfilen klar til klipning er vedhæftet i SVG -format.
Projektoren er en Infocus LP330 (indfødt opløsning 1024X768) med følgende specifikationer Lysstyrke: 650 Lumen Farve Lysudbytte: ** Kontrast (fuld til/fra): 400: 1 Auto Iris: Ingen indfødt opløsning: 1024x768 Billedformat: 4: 3 (XGA) Videotilstande: ** Datatilstande: MAX 1024x768 Maks. Effekt: 200 Watt Spænding: 100V - 240V Størrelse (cm) (HxBxD): 6 x 22 x 25 Vægt: 2,2 kg Lampens levetid (fuld effekt): 1.000 timer Lampetype: UHPLampeeffekt: 120 Watt Lampemængde: 1 Skærmtype: 2 cm DLP (1) Standardzoomobjektiv: 1,25: 1 Fokus: Manuel kasteafstand (m): 1,5 - 30,5 Billedstørrelse (cm): 76 - 1971
Denne videoprojektor bruges til at projicere strukturerede lysmønstre på det objekt, der skal scannes. Det strukturerede mønster består af lodrette og vandrette hvide lysstrimler, der gemmes på en datafil, og webkameraer fanger disse forvrængede strimler.
Brug helst de kameraer, der kan styres af software, fordi du skal justere fokus, lysstyrke, opløsning og billedkvalitet. Det er muligt at bruge DSLR -kameraer med SDK'er, der leveres af hvert mærke.
Montering og test blev udført i Copenhagen Fablab med dens støtte.
Trin 4: Eksperimentering med scanner
Til test af systemet blev der brugt et fiskelegetøj, og du kan se det fangede billede. Al fanget fil og også outputpunktskyen er inkluderet i vedhæftede fil, du kan åbne PLY point cloud -filen med Meshlab:
meshlab.sourceforge.net/
Trin 5: Nogle andre scanningsresultater
Her kan du se nogle menneskelige ansigtsscanninger og 3d -scanning af en væg. Der er altid nogle ekstra punkter på grund af refleksioner eller unøjagtige billedresultater.
Trin 6: 3D -scanner GUI
Til test af 3d -scanningssoftwaren i dette trin tilføjer jeg to datasæt, det ene er scanning af en fisk og et andet er bare en plan væg for at se nøjagtigheden af det. Åbn ZIP -filer, og kør SL3DGUI.py. For installation tjek trin 2. Send besked til min indbakke her for alle kildekoder.
For at bruge 3D -scanningsdel skal du installere to kameraer og projektor, men for andre dele skal du bare klikke på knappen. For at teste eksempeldataene skal du først klikke på processen og derefter tærsklen, stereomatch og til sidst punktsky. Installer Meshlab for at se punktskyen.
meshlab.sourceforge.net/
Anbefalede:
ATTiny84-baseret 3A trin-ned LED-driver: 7 trin (med billeder)
ATTiny84-baseret 3A trin-ned LED-driver: Hvis du vil drive 10W LED'er, kan du bruge denne 3A LED-driver. Med 3 Cree XPL LED'er kan du opnå 3000 lumen
Arduino -baseret ikke -kontakt infrarødt termometer - IR -baseret termometer ved hjælp af Arduino: 4 trin
Arduino -baseret ikke -kontakt infrarødt termometer | IR -baseret termometer ved hjælp af Arduino: Hej fyre i denne instruktion vil vi lave et kontaktfrit termometer ved hjælp af arduino. Da nogle gange temperaturen på væsken/faststoffet er alt for høj eller for lav, og så er det svært at komme i kontakt med det og læse dets temperaturen derefter i den scene
Arduino baseret flerfarvet lys maleri Wand: 13 trin (med billeder)
Arduino -baseret flerfarvet lysmaleri Wand: Lysmaleri er en teknik, der bruges af fotografer, hvor en lyskilde bruges til at tegne interessante mønstre, og kamera vil sammensætte disse. Som et resultat vil billedet indeholde lysets stier i det, som i sidste ende vil give et kig på en
Musikreaktivt lys -- Sådan laves superenkelt musikreaktivt lys til at gøre skrivebordet fantastisk: 5 trin (med billeder)
Music Reactive Light || Sådan laver du Super Simple Music Reactive Light for Making Desktop Awsome .: Hey whats up guys, I dag vil vi bygge et meget interessant projekt. I dag bygger vi musik reaktivt lys. LED'en ændrer dens lysstyrke iht. basen, der faktisk er lavfrekvent lydsignal. Det er meget enkelt at bygge.Vi vil
Arduino -baseret lyssværd med lys- og lydeffekter: 14 trin (med billeder)
Arduino -baseret lyssværd med lys- og lydeffekter: Hej jedi! Denne instruktive handler om at lave et lyssværd, der ser ud, lyder og fungerer som en i filmen! Den eneste forskel - den kan ikke skære metal: (Denne enhed er baseret på Arduino -platformen, og jeg giver den en masse funktioner og funktioner, den