Turinys:
- 1 žingsnis: Įvadas
- 2 žingsnis: programinė įranga
- 3 žingsnis: Aparatūros sąranka
- 4 žingsnis: eksperimentuokite su skaitytuvu
- 5 veiksmas: kai kurie kiti nuskaitymo rezultatai
- 6 veiksmas: 3D skaitytuvo GUI
Video: „Pasidaryk pats“3D skaitytuvas, pagrįstas struktūrizuota šviesa ir „Stereo Vision“„Python“kalba: 6 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šis 3D skaitytuvas buvo pagamintas naudojant pigius įprastus elementus, tokius kaip vaizdo projektorius ir internetinės kameros. Struktūrinės šviesos 3D skaitytuvas yra 3D nuskaitymo įrenginys, skirtas išmatuoti trimatę objekto formą, naudojant projektuojamus šviesos modelius ir fotoaparato sistemą. Programinė įranga buvo sukurta remiantis struktūrizuota šviesa ir stereo vizija su python kalba.
Projektuojant siaurą šviesos juostą į trimatį formos paviršių, atsiranda apšvietimo linija, kuri atrodo iškraipyta iš kitų perspektyvų nei projektorius, ir gali būti naudojama tiksliajai geometrinei paviršiaus formos rekonstrukcijai. Horizontalios ir vertikalios šviesos juostos projektuojamos ant objekto paviršiaus ir užfiksuojamos dviem kameromis.
1 žingsnis: Įvadas
Automatiniai 3D gavimo įrenginiai (dažnai vadinami 3D skaitytuvais) leidžia ekonomiškai ir laiku sukurti labai tikslius tikrų 3D objektų modelius. Mes išbandėme šią technologiją nuskaitydami žaislą, kad įrodytume jo veikimą. Konkretūs poreikiai: vidutinio aukščio tikslumas, paprastas naudojimas, prieinama kaina nuskaitymo įrenginiui, savarankiškai registruotas formos ir spalvų duomenų gavimas ir galiausiai operatoriaus ir nuskaitytų objektų saugumas. Atsižvelgdami į šiuos reikalavimus, mes sukūrėme nebrangų 3D skaitytuvą, pagrįstą struktūrizuota šviesa, kuri naudoja universalų spalvotų juostų modelį. Pateikiame skaitytuvo architektūrą, pritaikytas programinės įrangos technologijas ir pirmuosius jo naudojimo rezultatus projekte, susijusiame su 3D žaislo įsigijimu.
Kurdami mūsų nebrangų skaitytuvą, mes nusprendėme įdiegti spinduliuotės įrenginį naudodami vaizdo projektorių. Priežastis buvo šio prietaiso lankstumas (leidžiantis eksperimentuoti su bet kokio tipo šviesos modeliais) ir platus prieinamumas. Jutiklis gali būti pasirinktinis įrenginys, standartinė skaitmeninė fotoaparatas arba internetinė kamera. jis turi palaikyti aukštos kokybės spalvų fiksavimą (t. y. didelio dinaminio diapazono įgijimą) ir galbūt su didele skiriamąja geba.
2 žingsnis: programinė įranga
„Python“kalba buvo naudojama programuojant dėl trijų priežasčių, viena iš jų yra lengva išmokti ir įdiegti, antra, mes galime naudoti OPENCV su įvaizdžiu susijusioms procedūroms, o trečia - ji yra nešiojama tarp skirtingų operacinių sistemų, kad galėtumėte naudoti šią programą „Windows“, MAC ir „Linux“. Taip pat galite sukonfigūruoti programinę įrangą naudoti su bet kokio tipo fotoaparatais (internetinėmis kameromis, SLR ar pramoninėmis kameromis) arba projektoriumi, kurio skiriamoji geba yra 1024X768. Geriau naudoti fotoaparatus, kurių skiriamoji geba yra daugiau nei du kartus. Aš asmeniškai išbandžiau trijų skirtingų konfigūracijų našumą, pirmasis buvo su dviem lygiagrečiais „Microsoft“internetinių kamerų kinu ir mažu nešiojamuoju projektoriumi, antrasis - su dviem „lifecam“kino kameromis, kurios pasisuko 15 laipsnių viena kitos link, ir „Infocus“projektoriumi, paskutinė konfigūracija buvo su „Logitech“vaizdo kameromis ir „Infocus“projektorius. Norėdami užfiksuoti taškinį objekto paviršiaus debesį, turėtume eiti penkiais žingsniais:
1. Pilkų raštų projektavimas ir vaizdų fiksavimas iš dviejų kamerų "SL3DS1.projcapt.py"
2. Apdoroti 42 kiekvienos kameros vaizdus ir fiksuoti taškų kodus „SL3DS2.procimages.py“
2. Slenksčio koregavimas, kad būtų pasirinktas apdorojimo sričių maskavimas "SL3DS3.adjustthresh.py"
4. Raskite ir išsaugokite panašius taškus kiekvienoje kameroje „SL3DS4.calcpxpy.py“
5 Apskaičiuokite taško debesies „SL3DS5.calcxyz.py“X, Y ir Z koordinates
Išvestis yra PLY failas su objektų paviršiaus taškų koordinačių ir spalvų informacija. Galite atidaryti PLY failus naudodami CAD programinę įrangą, pvz., „Autodesk“produktus, arba atvirojo kodo programinę įrangą, pvz., „Meshlab“.
www.autodesk.com/products/personal-design-a…
Norint paleisti šias „Python“programas, reikia įdiegti „Python 2.7“, „OPENCV“modulį ir „NUMPY“. Aš taip pat sukūriau šios programinės įrangos GUI TKINTER, kurią galite rasti šeštajame žingsnyje su dviem duomenų rinkiniais. Papildomos informacijos šia tema galite rasti šiose svetainėse:
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…
3 žingsnis: Aparatūros sąranka
Techninę įrangą sudaro:
1. Dvi internetinės kameros („Logitech C920C“)
2. „Infocus LP330“projektorius
3. Fotoaparato ir projektoriaus stovas (pagamintas iš 3 mm akrilo plokščių ir 6 mm HDF medžio pjūvio lazeriniu pjaustytuvu)
Dvi kameros ir projektorius turi būti prijungti prie kompiuterio su dviem vaizdo išvestimis, pavyzdžiui, nešiojamasis kompiuteris, o projektoriaus ekranas turėtų būti sukonfigūruotas kaip pagrindinio „Windows“darbalaukio plėtinys. Čia galite pamatyti fotoaparatų, projektoriaus ir stovo vaizdus. Piešimui paruoštas brėžinio failas pridedamas SVG formatu.
Projektorius yra „Infocus LP330“(gimtoji skiriamoji geba 1024X768) su šiomis specifikacijomis. Ryškumas: 650 liumenų spalvų šviesos išvestis: ** kontrastas (visiškai įjungtas/išjungtas): 400: 1 automatinė rainelė: nėra vietinės skiriamosios gebos: 1024x768 formato santykis: 4: 3 (XGA) vaizdo režimai: ** Duomenų režimai: MAX 1024x768 Maksimali galia: 200 vatų Įtampa: 100V - 240V Dydis (cm) (A x P x G): 6 x 22 x 25 Svoris: 2,2 kg Lempos tarnavimo laikas (visa galia): 1 000 valandos Lempos tipas: UHPL Lempos galia: 120 vatų Lempos kiekis: 1 Ekrano tipas: 2 cm DLP (1) Standartinio priartinimo objektyvas: 1,25: 1 Fokusavimas: Rankinis metimo atstumas (m): 1,5 - 30,5 Vaizdo dydis (cm): 76 - 1971
Šis vaizdo projektorius naudojamas projektuojant struktūrizuotus šviesos modelius ant nuskaitomo objekto. Struktūrinį modelį sudaro vertikalios ir horizontalios baltos šviesos juostos, išsaugotos duomenų faile, o internetinės kameros fiksuoja tas iškraipytas juostas.
Pageidautina naudoti tas kameras, kurias galima valdyti programine įranga, nes reikia koreguoti fokusavimą, ryškumą, skiriamąją gebą ir vaizdo kokybę. Galima naudoti DSLR fotoaparatus su SDK, kuriuos teikia kiekvienas prekės ženklas.
Surinkimas ir bandymai buvo atlikti Kopenhagos „Fablab“padedant.
4 žingsnis: eksperimentuokite su skaitytuvu
Sistemos testavimui buvo naudojamas žuvies žaislas ir galite pamatyti užfiksuotą vaizdą. Visas užfiksuotas failas ir išvesties taškas yra įtrauktas į pridedamą failą, galite atidaryti PLY taško debesies failą naudodami „Meshlab“:
meshlab.sourceforge.net/
5 veiksmas: kai kurie kiti nuskaitymo rezultatai
Čia galite pamatyti žmogaus veidą ir 3D sienos nuskaitymą. Dėl atspindžių ar netikslių vaizdo rezultatų visada yra tam tikrų nepageidaujamų taškų.
6 veiksmas: 3D skaitytuvo GUI
Norėdami išbandyti 3D nuskaitymo programinę įrangą šiame žingsnyje, pridedu du duomenų rinkinius: vienas yra žuvies nuskaitymas, o kitas yra tik plokštuminė siena, kad būtų galima pamatyti jos tikslumą. Atidarykite ZIP failus ir paleiskite SL3DGUI.py. Norėdami įdiegti, patikrinkite 2 veiksmą. Siųskite pranešimą į mano pašto dėžutę, kad gautumėte visus šaltinio kodus.
Norėdami naudoti 3D nuskaitymo dalį, turite įdiegti dvi kameras ir projektorių, tačiau kitoms dalims tiesiog spustelėkite mygtuką. Norėdami patikrinti pavyzdinius duomenis, pirmiausia spustelėkite procesą, tada slenkstį, stereo atitikimą ir galiausiai taško debesį. Įdiekite „Meshlab“, kad pamatytumėte taškinį debesį.
meshlab.sourceforge.net/
Rekomenduojamas:
„Pasidaryk pats“makro objektyvas su AF (kitoks nei visi kiti „pasidaryk pats“makro objektyvai): 4 žingsniai (su nuotraukomis)
„Pasidaryk pats“makro objektyvas su AF (kitoks nei visi kiti „pasidaryk pats“makro objektyvai): mačiau daug žmonių, gaminančių makro objektyvus su standartiniu rinkiniu (paprastai 18–55 mm). Dauguma jų yra objektyvas, tiesiog prilipęs prie fotoaparato atgal arba nuimtas priekinis elementas. Abi šios galimybės turi neigiamų pusių. Objektyvui pritvirtinti
ESP32 pagrįstas RFID skaitytuvas su jutikliniu ekranu: 7 žingsniai
ESP32 pagrįstas RFID skaitytuvas su jutikliniu ekranu: Šioje instrukcijoje parodysiu, kaip sukurti paprastą RFID skaitytuvą su TFT išvestimi, skirtą tvirtinti prie sienos, naudojant ESP32 DEV KIT C modulį, RC-522 pagrindu sukurtą skaitytuvo plokštę ir AZ-Touch ESP rinkinį. Šį skaitytuvą galite naudoti norėdami patekti į duris arba signalizuoti įsibrovėlius
Pasidaryk pats „IBeacon“ir „Beacon“skaitytuvas su „Raspberry Pi“ir HM13: 3 žingsniai
„Pasidaryk pats“„IBeacon“ir „Beacon“skaitytuvas su „Raspberry Pi“ir „HM13“: istorija Švyturys nuolat transliuos signalus, kad kiti „Bluetooth“įrenginiai žinotų apie jo buvimą. Ir aš visada norėjau turėti „Bluetooth“švyturėlį, kad galėčiau stebėti savo raktus, nes jau pamiršau juos atnešti 10 kartų pernai. Ir man atsitinka
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis - „Arduino PS2“žaidimų valdiklis - Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino“žaidimų pultą: 7 žingsniai
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis | „Arduino PS2“žaidimų valdiklis | Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino Gamepad“: Sveiki, vaikinai, žaisti žaidimus visada smagu, tačiau žaisti su savo „pasidaryk pats“žaidimo valdikliu yra smagiau. Taigi, mes padarysime žaidimų valdiklį naudodami „arduino pro micro“šioje instrukcijoje
Muzikinė reaktyvioji šviesa -- Kaip sukurti itin paprastą muzikos reaktyviąją šviesą, kad stalinis kompiuteris būtų patrauklus: 5 žingsniai (su paveikslėliais)
Muzikinė reaktyvioji šviesa || Kaip sukurti itin paprastą muzikinę reaktyviąją šviesą, kad stalinis kompiuteris būtų patrauklus. Ei, kas vyksta, vaikinai, šiandien mes sukursime labai įdomų projektą. Šiandien mes sukursime muzikos reaktyviąją šviesą. LED pakeis savo ryškumą pagal bosas, kuris iš tikrųjų yra žemo dažnio garso signalas. Tai labai paprasta sukurti. Mes