Tartalomjegyzék:
- 1. lépés: Bevezetés
- 2. lépés: Szoftver
- 3. lépés: Hardver beállítása
- 4. lépés: Kísérletezés a szkennerrel
- 5. lépés: Néhány egyéb szkennelési eredmény
- 6. lépés: 3D szkenner grafikus felhasználói felület
Videó: DIY 3D szkenner strukturált fény és sztereó látás alapján Python nyelven: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ez a 3D szkenner olcsó, hagyományos elemek, például videoprojektor és webkamerák felhasználásával készült. A strukturált fényű 3D szkenner egy 3D szkennelő eszköz egy tárgy háromdimenziós alakjának mérésére vetített fényminták és kamerarendszer segítségével. A szoftvert strukturált fény és sztereó látás alapján fejlesztették ki python nyelven.
Egy keskeny fénysáv háromdimenziós alakra történő kivetítése olyan megvilágítási vonalat eredményez, amely a projektorén kívül más nézőpontokból is torznak tűnik, és felhasználható a felület alakjának pontos geometriai rekonstrukciójára. A vízszintes és függőleges fénysávokat az objektum felületére vetítik, majd két webkamerával rögzítik.
1. lépés: Bevezetés
Az automatikus 3D-gyűjtőeszközök (gyakran 3D-s szkennerek) lehetővé teszik a valódi 3D-objektumok rendkívül pontos modelljének felépítését költség- és időhatékony módon. Kipróbáltuk ezt a technológiát egy játék beolvasásakor, hogy bizonyítsuk a teljesítményt. Specifikus igények: közepesen nagy pontosság, könnyű használat, a szkennelő eszköz megfizethető költsége, önállóan regisztrált forma- és színadatok megszerzése, és végül a kezelő és a beolvasott objektumok üzembiztonsága. E követelményeknek megfelelően strukturált fényen alapuló olcsó 3D szkennert terveztünk, amely sokoldalú színes csíkos mintázatot alkalmaz. Bemutatjuk a szkenner architektúráját, az alkalmazott szoftvertechnológiákat és használatának első eredményeit egy játék 3D -s beszerzésével kapcsolatos projektben.
Olcsó szkennerünk tervezésekor úgy döntöttünk, hogy az emitter egy videoprojektor segítségével valósítjuk meg. Ennek oka az eszköz rugalmassága (amely lehetővé teszi bármilyen típusú fénymintázat kísérletezését) és széles körű rendelkezésre állása. Az érzékelő lehet egyedi eszköz, szabványos digitális fényképezőgép vagy webkamera. támogatnia kell a kiváló minőségű színrögzítést (azaz a nagy dinamikatartomány megszerzését) és lehetőleg nagy felbontással.
2. lépés: Szoftver
A Python nyelvet három okból használták a programozáshoz, az egyik könnyen megtanulható és megvalósítható, kettő az OPENCV -t használhatja a képekkel kapcsolatos rutinokhoz, és három hordozható a különböző operációs rendszerek között, így használhatja ezt a programot Windows, MAC és Linux rendszereken. A szoftvert úgy is konfigurálhatja, hogy bármilyen típusú kamerával (webkamerával, tükörreflexes fényképezőgéppel vagy ipari kamerával) vagy kivetítővel használható legyen, natív 1024X768 felbontással. Jobb, ha több mint kétszeres felbontású kamerákat használ. Én személyesen teszteltem a teljesítményt három különböző konfigurációban, az első két párhuzamos Microsoft webkamerával és egy kis hordozható kivetítővel volt, a második két lifecam mozi webkamerával, amelyek 15 fokkal egymás felé forogtak, és az Infocus kivetítővel, az utolsó konfiguráció a logitech webkamerákkal történt. és Infocus projektor. Az objektumfelület pontfelhőjének rögzítéséhez öt lépést kell megtennünk:
1. Szürke minták kivetítése és képek készítése két kamerából "SL3DS1.projcapt.py"
2. Az egyes kamerák 42 képének feldolgozása és az „SL3DS2.procimages.py” pontkódok rögzítése
2. A küszöb beállítása a maszkolás kiválasztásához a feldolgozandó területeken "SL3DS3.adjustthresh.py"
4. Keresse meg és mentse el a hasonló pontokat minden "SL3DS4.calcpxpy.py" kamerában
5 Számítsa ki az "SL3DS5.calcxyz.py" pontfelhő X, Y és Z koordinátáit
A kimenet egy PLY fájl, amely koordináta- és színinformációkat tartalmaz az objektum felületén lévő pontokról. A PLY fájlokat CAD szoftverrel, például Autodesk termékekkel vagy nyílt forráskódú szoftverrel, például Meshlab megnyithatja.
www.autodesk.com/products/personal-design-a…
Ezen Python programok futtatásához telepíteni kell a Python 2.7 -et, az OPENCV modult és a NUMPY -t. A szoftverhez GUI -t is kifejlesztettem a TKINTER -ben, amelyet a hatodik lépésben talál meg két mintaadathalmazzal. A témában további információkat talál az alábbi webhelyeken:
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. lépés: Hardver beállítása
A hardver a következőkből áll:
1. Két webkamera (Logitech C920C)
2. Infocus LP330 projektor
3. Kamera- és kivetítőállvány (3 mm -es akrillemezekből és 6 mm -es HDF -fából, lézervágóval vágva)
Két kamerát és kivetítőt két videokimenettel rendelkező számítógéphez kell csatlakoztatni, például egy notebook számítógéphez, és a kivetítő képernyőjét úgy kell konfigurálni, mint a főablakok asztali kiterjesztését. Itt láthatja a kamerák, a projektor és az állvány képeit. A vágásra kész rajzfájl SVG formátumban van csatolva.
A projektor egy Infocus LP330 (natív felbontás 1024X768), a következő specifikációkkal. Fényerő: 650 Lumen színes fénykibocsátás: ** Kontraszt (teljes be/ki): 400: 1 Auto Iris: Nincs natív felbontás: 1024x768 Képarány: 4: 3 (XGA) Videó módok: ** Adatmódok: MAX 1024x768 Max. Teljesítmény: 200 watt Feszültség: 100V - 240V Méret (cm) (HxWxD): 6 x 22 x 25 Súly: 2,2 kg Lámpa élettartama (teljes teljesítmény): 1000 óra Lámpa típusa: UHPLámpa Teljesítmény: 120 W Lámpa Mennyiség: 1 Kijelző típusa: 2 cm DLP (1) Standard zoom objektív: 1,25: 1 Fókusz: Kézi vetítési távolság (m): 1,5 - 30,5 Képméret (cm): 76 - 1971
Ez a videoprojektor strukturált fényminták kivetítésére szolgál a beolvasandó objektumon. A strukturált minta függőleges és vízszintes fehér fénycsíkokból áll, amelyeket egy adatfájlba mentenek, és a webkamerák rögzítik ezeket a torz csíkokat.
Lehetőleg azokat a kamerákat használja, amelyek szoftveresen vezérelhetők, mert módosítani kell a fókuszt, a fényerőt, a felbontást és a képminőséget. Lehetőség van az egyes márkák által biztosított SDK -val ellátott DSLR kamerák használatára.
Az összeszerelést és a vizsgálatokat a koppenhágai Fablabban végezték támogatásával.
4. lépés: Kísérletezés a szkennerrel
A rendszer teszteléséhez haljátékot használtak, és láthatja a rögzített képet. Az összes rögzített fájl és a kimeneti pontfelhő is a csatolt fájlban található, megnyithatja a PLY pont felhőfájlt a Meshlab segítségével:
meshlab.sourceforge.net/
5. lépés: Néhány egyéb szkennelési eredmény
Itt látható néhány emberi arc szkennelése és egy fal 3D szkennelése. Mindig vannak kiugró pontok a tükröződések vagy a pontatlan képeredmények miatt.
6. lépés: 3D szkenner grafikus felhasználói felület
A 3D szkennelési szoftver teszteléséhez ebben a lépésben két adatsort adok hozzá, az egyik a hal beolvasása, a másik pedig csak egy síkfal, hogy lássa annak pontosságát. Nyissa meg a ZIP fájlokat, és futtassa az SL3DGUI.py fájlt. A telepítéshez ellenőrizze a 2. lépést. Az összes forráskódért küldjön üzenetet a postafiókomba.
A 3D szkennelési rész használatához két kamerát és kivetítőt kell telepítenie, de a többi részhez csak kattintson a gombra. A mintaadatok teszteléséhez először kattintson a folyamatra, majd a küszöbértékre, a sztereó egyezésre és végül a pontfelhőre. Telepítse a Meshlab -ot a pontfelhő megtekintéséhez.
meshlab.sourceforge.net/
Ajánlott:
IPhone szkenner: 3 lépés (képekkel)
IPhone Scanner: Sok jegyzetet készítek, és gyorsan be kellett szkennelnem őket, hogy online konzultálhasson. Bármelyik szkenner túl lassú volt ahhoz, hogy sok száz oldalt digitalizáljon a vakondomból. Egy jó fotó készítése jó megoldás volt. Arra gondoltam, hogy az iPhone -t használom erre a célra
NYÁK -expozíció egy régi szkenner újrahasznosításával: 6 lépés (képekkel)
PCB UV -expozíció egy régi szkenner újrahasznosításával: Szia, így készítettem el a PCB -UV -expozíciómat egy régi szkenner újrahasznosításával
Szkenner torony és ágyú: 10 lépés (képekkel)
Szkenner torony és ágyú: Funkcionális prototípust akartunk készíteni különböző arduino érzékelők felhasználásával, ezért úgy döntöttünk, hogy kifejlesztünk egy tornyot ágyúval, amely golyót lő ki a szkenner által észlelt tárgyra. A torony működése a következővel kezdődik: a c
Asztali CT és 3D szkenner Arduino -val: 12 lépés (képekkel)
Asztali CT és 3D szkenner Arduino -val: A számítógépes tomográfia (CT) vagy a számítógépes axiális tomográfia (CAT) leggyakrabban a test képalkotásához kapcsolódik, mivel lehetővé teszi az orvosok számára, hogy műtét nélkül lássák a beteg anatómiai szerkezetét. Képet képezni az ember belsejében
Nano ESP32 BLE szkenner: 14 lépés (képekkel)
Nano ESP32 BLE szkenner: Ez az oktatóanyag bemutatja, hogyan kell használni az ESP32 -t vezeték nélküli BLE jelszkenner készítéséhez, minden beolvasott adat WiFi -n keresztül elküldésre kerül a HTTP szerverre