Innholdsfortegnelse:
- Trinn 1: Introduksjon
- Trinn 2: Programvare
- Trinn 3: Maskinvareoppsett
- Trinn 4: Eksperimentering med skanner
- Trinn 5: Noen andre skanneresultater
- Trinn 6: 3D -skanner GUI
Video: DIY 3D -skanner basert på strukturert lys og stereosyn i Python -språk: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Denne 3D -skanneren ble laget ved hjelp av konvensjonelle varer som lavpris, som videoprojektor og webkameraer. En strukturert lys 3D-skanner er en 3D-skanningsenhet for å måle den tredimensjonale formen til et objekt ved hjelp av projiserte lysmønstre og et kamerasystem. Programvare ble utviklet basert på strukturert lys og stereosyn med pythonspråk.
Å projisere et smalt lysbånd på en tredimensjonal overflate gir en belysningslinje som ser forvrengt ut fra andre perspektiver enn projektoren, og kan brukes til en nøyaktig geometrisk rekonstruksjon av overflateformen. Horisontale og vertikale lysbånd projiseres på objektoverflaten og deretter fanges opp av to webkameraer.
Trinn 1: Introduksjon
Automatiske 3D-anskaffelsesenheter (ofte kalt 3D-skannere) gjør det mulig å bygge svært nøyaktige modeller av ekte 3D-objekter på en kostnadseffektiv og tidseffektiv måte. Vi har eksperimentert med denne teknologien for å skanne et leketøy for å bevise ytelsen. Spesifikke behov er: middels høy nøyaktighet, enkel å bruke, rimelige kostnader for skanneenheten, egenregistrert innhenting av form- og fargedata, og til slutt driftssikkerhet for både operatøren og de skannede objektene. I henhold til disse kravene har vi designet en rimelig 3D-skanner basert på strukturert lys som bruker en allsidig tilnærming med farget stripemønster. Vi presenterer skannerarkitekturen, programvareteknologiene som er tatt i bruk og de første resultatene av bruken i et prosjekt angående 3D -anskaffelse av et leketøy.
I utformingen av vår rimelige skanner valgte vi å implementere emitterenheten ved hjelp av en videoprojektor. Årsaken var fleksibiliteten til denne enheten (som gjør det mulig å eksperimentere alle typer lysmønstre) og dens brede tilgjengelighet. Sensoren kan enten være en tilpasset enhet, et standard digitalt stillbildekamera eller et webkamera. den må støtte fargefangst av høy kvalitet (dvs. oppkjøp av høyt dynamisk område) og muligens med høy oppløsning.
Trinn 2: Programvare
Pythonspråk ble brukt til programmering av tre grunner, en det er lett å lære og implementere, to kan vi bruke OPENCV for bilderelaterte rutiner og tre det er bærbart blant forskjellige operativsystemer, slik at du kan bruke dette programmet i Windows, MAC og Linux. Du kan også konfigurere programvaren til å bruke med alle slags kameraer (webkameraer, speilreflekskameraer eller industrikameraer) eller projektor med opprinnelig 1024X768 oppløsning. Det er bedre å bruke kameraer med mer enn to ganger oppløsning. Jeg testet personlig ytelsen i tre forskjellige konfigurasjoner, den første var med to parallelle Microsoft webcam kinoer og en liten bærbar projektor, den andre var med to lifecam kino webkameraer som roterte 15 grader mot hverandre og Infocus projektor, siste konfigurasjon var med logitech webkameraer og Infocus -projektor. For å fange punktskyen på objektoverflaten bør vi gå gjennom fem trinn:
1. Å projisere grå mønstre og ta bilder fra to kameraer "SL3DS1.projcapt.py"
2. Behandler de 42 bildene av hvert kamera og fanger punktkoder "SL3DS2.procimages.py"
2. Justere terskelen for å velge maskering for områder som skal behandles "SL3DS3.adjustthresh.py"
4. Finn og lagre lignende poeng i hvert kamera "SL3DS4.calcpxpy.py"
5 Beregn koordinatene X, Y og Z for punktskyen "SL3DS5.calcxyz.py"
Utgangen er en PLY -fil med koordinat- og fargeinformasjon for punkter på objektoverflaten. Du kan åpne PLY -filer med CAD -programvare som Autodesk -produkter eller en åpen kildekode -programvare som Meshlab.
www.autodesk.com/products/personal-design-a…
Python 2.7, OPENCV -modul og NUMPY bør installeres for å kjøre disse Python -programmene. Jeg har også utviklet en GUI for denne programvaren i TKINTER som du kan finne i trinn seks med to eksempeldatasett. Du kan finne tilleggsinformasjon om dette emnet på følgende nettsteder:
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…
Trinn 3: Maskinvareoppsett
Maskinvare består av:
1. To webkameraer (Logitech C920C)
2. Infocus LP330 projektor
3. Kamera- og projektorstativ (laget av 3 mm akrylplater og 6 mm HDF -tresnitt med laserskjærer)
To kameraer og projektor skal kobles til en datamaskin med to videoutganger som en bærbar datamaskin, og projektorskjermen skal konfigureres som en utvidelse til hovedvinduet på skrivebordet. Her kan du se bilder av kameraer, projektor og stativ. Tegnefilen klar for kutt er vedlagt i SVG -format.
Projektoren er en Infocus LP330 (innfødt oppløsning 1024X768) med følgende spesifikasjoner Lysstyrke: 650 Lumen Farge Lysutbytte: ** Kontrast (Full på/av): 400: 1 Auto Iris: Ingen opprinnelig oppløsning: 1024x768 Bildeforhold: 4: 3 (XGA) Videomoduser: ** Datamoduser: MAX 1024x768 Maks effekt: 200 W Spenning: 100V - 240V Størrelse (cm) (HxBxD): 6 x 22 x 25 Vekt: 2,2 kg Lampelevetid (full effekt): 1000 timer Lampetype: UHPLampeeffekt: 120 watt Lamptall: 1 Skjermtype: 2 cm DLP (1) Standard zoomobjektiv: 1,25: 1 Fokus: Manuell kasteavstand (m): 1,5 - 30,5 bildestørrelse (cm): 76 - 1971
Denne videoprojektoren brukes til å projisere strukturerte lysmønstre på objektet som skal skannes. Det strukturerte mønsteret består av vertikale og horisontale hvite lysstrimler som er lagret på en datafil, og webkameraer fanger opp de forvrengte stripene.
Bruk helst kameraene som kan styres av programvare fordi du må justere fokus, lysstyrke, oppløsning og bildekvalitet. Det er mulig å bruke DSLR -kameraer med SDK -er som tilbys av hvert merke.
Montering og tester ble utført i Copenhagen Fablab med sin støtte.
Trinn 4: Eksperimentering med skanner
For å teste systemet ble det brukt en fiskeleke, og du kan se det fangede bildet. All fanget fil og også output point -skyen er inkludert i den vedlagte filen, du kan åpne PLY point cloud -filen med Meshlab:
meshlab.sourceforge.net/
Trinn 5: Noen andre skanneresultater
Her kan du se noen menneskelige ansiktsskanninger og 3d -skanning av en vegg. Det er alltid noen ekstra punkter på grunn av refleksjoner eller unøyaktige bilderesultater.
Trinn 6: 3D -skanner GUI
For å teste 3D -skanneprogramvaren i dette trinnet legger jeg til to datasett, det ene er skanning av en fisk og en annen er bare en planvegg for å se nøyaktigheten av den. Åpne ZIP -filer og kjør SL3DGUI.py. For installasjon, sjekk trinn 2. Send melding til innboksen min her for alle kildekoder.
For å bruke 3d scan del må du installere to kameraer og projektor, men for andre deler klikker du bare på knappen. For å teste eksempeldataene, klikk først på prosessen, deretter terskelen, stereomatch og til slutt punktsky. Installer Meshlab for å se punktskyen.
meshlab.sourceforge.net/
Anbefalt:
Hvordan lage IoT -basert hjemmeautomatisering med NodeMCU -sensorer Kontrollrelé: 14 trinn (med bilder)
Hvordan lage IoT-basert hjemmeautomatisering med NodeMCU-sensorer Kontrollrelé: I dette IoT-baserte prosjektet har jeg laget hjemmeautomatisering med Blynk og NodeMCU-relémodul med sanntidsfeedback. I manuell modus kan denne relemodulen styres fra mobil eller smarttelefon og manuell bryter. I automodus er denne smar
Arduino -basert ikke -kontakt infrarødt termometer - IR -basert termometer ved bruk av Arduino: 4 trinn
Arduino -basert ikke -kontakt infrarødt termometer | IR -basert termometer ved bruk av Arduino: Hei folkens i denne instruksjonsboken vil vi lage et kontaktfritt termometer ved hjelp av arduino. Siden noen ganger temperaturen på væsken/faststoffet er for høy eller for lav, og da er det vanskelig å få kontakt med det og lese dets temperaturen da i den situasjonen
Lys opp Chanukah-genser med individuelle "lys": 7 trinn (med bilder)
Opplyst Chanukah-genser med individuelle "stearinlys": Høytidsfesten og i år kan du være festens lysende stjerne med en lys menoragenser! Dette er et sydd kretsprosjekt som bruker relativt rimelige materialer som er lett å finne på nettet og i håndverksbutikken. Enda bedre
Musikkreaktivt lys -- Hvordan lage superenkelt musikkreaktivt lys for å gjøre skrivebordet fantastisk: 5 trinn (med bilder)
Music Reactive Light || How to Make Super Simple Music Reactive Light for Making Desktop Awsome .: Hei, hva skjer gutter, I dag skal vi bygge et veldig interessant prosjekt. I dag skal vi bygge musikk reaktivt lys. LED -en vil endre lysstyrken iht. bassen som faktisk er lavfrekvent lydsignal. Det er veldig enkelt å bygge. Vi vil
Arduino -basert lyssvær med lys- og lydeffekter: 14 trinn (med bilder)
Arduino -basert lyssvær med lys- og lydeffekter: Hei jedi! Dette instruerbare handler om å lage et lyssvær som ser ut, høres ut og fungerer som en i filmen! Den eneste forskjellen - den kan ikke kutte metall: (Denne enheten er basert på Arduino -plattformen, og jeg gir den mange funksjoner og funksjoner, den