Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Dieser 3D-Scanner wurde mit kostengünstigen konventionellen Artikeln wie Videoprojektoren und Webcams hergestellt. Ein 3D-Scanner mit strukturiertem Licht ist ein 3D-Scangerät zum Messen der dreidimensionalen Form eines Objekts mit projizierten Lichtmustern und einem Kamerasystem. Software wurde basierend auf strukturiertem Licht und Stereovision mit Python-Sprache entwickelt.
Die Projektion eines schmalen Lichtbandes auf eine dreidimensional geformte Oberfläche erzeugt eine Beleuchtungslinie, die aus anderen Perspektiven als der des Projektors verzerrt erscheint und für eine exakte geometrische Rekonstruktion der Oberflächenform verwendet werden kann. Horizontale und vertikale Lichtbänder werden auf die Objektoberfläche projiziert und dann von zwei Webcams erfasst.
Schritt 1: Einführung
Automatische 3D-Erfassungsgeräte (oft als 3D-Scanner bezeichnet) ermöglichen den kostengünstigen und zeiteffizienten Aufbau hochgenauer Modelle realer 3D-Objekte. Wir haben diese Technologie beim Scannen eines Spielzeugs experimentiert, um die Leistung zu beweisen. Spezifische Anforderungen sind: mittlere bis hohe Genauigkeit, einfache Bedienung, erschwingliche Kosten des Scangeräts, selbstregistrierte Erfassung von Form- und Farbdaten und schließlich Betriebssicherheit sowohl für den Bediener als auch für die gescannten Objekte. Entsprechend diesen Anforderungen haben wir einen kostengünstigen 3D-Scanner auf Basis von strukturiertem Licht entwickelt, der einen vielseitigen Ansatz mit farbigen Streifenmustern verfolgt. Wir stellen die Scannerarchitektur, die eingesetzten Softwaretechnologien und erste Ergebnisse ihres Einsatzes in einem Projekt zur 3D-Erfassung eines Spielzeugs vor.
Beim Design unseres Low-Cost-Scanners haben wir uns dafür entschieden, die Sendereinheit durch den Einsatz eines Videoprojektors zu realisieren. Der Grund war die Flexibilität dieses Geräts (das es ermöglicht, jede Art von Lichtmuster zu experimentieren) und seine breite Verfügbarkeit. Der Sensor kann entweder ein benutzerdefiniertes Gerät, eine standardmäßige digitale Fotokamera oder eine Webcam sein. es muss eine qualitativ hochwertige Farberfassung (d. h. die Erfassung eines hohen Dynamikbereichs) und möglicherweise eine hohe Auflösung unterstützen.
Schritt 2: Software
Die Python-Sprache wurde aus drei Gründen für die Programmierung verwendet: Erstens ist sie einfach zu erlernen und zu implementieren, zweitens können wir OPENCV für bildbezogene Routinen verwenden und drittens ist sie zwischen verschiedenen Betriebssystemen portabel, sodass Sie dieses Programm unter Windows, MAC und Linux verwenden können. Sie können die Software auch so konfigurieren, dass sie mit jeder Art von Kamera (Webcams, SLRs oder Industriekameras) oder Projektoren mit einer nativen Auflösung von 1024 x 768 verwendet werden kann. Es ist besser, Kameras mit mehr als der doppelten Auflösung zu verwenden. Ich habe die Leistung persönlich in drei verschiedenen Konfigurationen getestet, die erste mit zwei parallelen Microsoft-Webcam-Kinos und einem kleinen tragbaren Projektor, die zweite mit zwei Lifecam-Kino-Webcameras, die um 15 Grad zueinander gedreht wurden, und dem Infocus-Projektor, die letzte Konfiguration mit Logitech-Webcameras und Infocus-Projektor. Um die Punktwolke der Objektoberfläche zu erfassen, sollten wir fünf Schritte durchlaufen:
1. Projektion von Graumustern und Aufnahme von Bildern von zwei Kameras "SL3DS1.projcapt.py"
2. Verarbeitung der 42 Bilder jeder Kamera und Erfassungspunktcodes " SL3DS2.procimages.py"
2. Einstellen des Schwellenwerts zur Auswahl der Maskierung für zu bearbeitende Bereiche "SL3DS3.adjustthresh.py"
4. Suchen und speichern Sie ähnliche Punkte in jeder Kamera "SL3DS4.calcpxpy.py"
5 Berechnen Sie die X-, Y- und Z-Koordinaten der Punktwolke "SL3DS5.calcxyz.py"
Die Ausgabe ist eine PLY-Datei mit Koordinaten- und Farbinformationen von Punkten auf der Objektoberfläche. Sie können PLY-Dateien mit CAD-Software wie Autodesk-Produkten oder einer Open-Source-Software wie Meshlab öffnen.
www.autodesk.com/products/personal-design-a…
Python 2.7, OPENCV-Modul und NUMPY sollten installiert sein, um diese Python-Programme auszuführen. Auch für diese Software habe ich in TKINTER eine GUI entwickelt, die Sie in Schritt sechs mit zwei Beispieldatensätzen finden. Weitere Informationen zu diesem Thema finden Sie auf den folgenden Websites:
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…
Schritt 3: Hardware-Setup
Hardware besteht aus:
1. Zwei Webcams (Logitech C920C)
2. Infocus LP330-Projektor
3. Kamera- und Beamerständer (aus 3 mm Acrylplatten und 6 mm HDF-Holz mit einem Laserschneider geschnitten)
Zwei Kameras und ein Projektor sollten an einen Computer mit zwei Videoausgängen wie ein Notebook-Computer angeschlossen werden und der Projektorbildschirm sollte als Erweiterung zum Haupt-Windows-Desktop konfiguriert werden. Hier sehen Sie Bilder von Kameras, Beamer und Stativ. Die schneidfertigen Zeichnungsdateien sind im SVG-Format angehängt.
Der Projektor ist ein Infocus LP330 (native Auflösung 1024X768) mit folgenden Spezifikationen. Helligkeit:650 Lumen Farblichtleistung:**Kontrast (Voll Ein/Aus):400:1 Auto Iris:Nein Native Auflösung:1024x768 Seitenverhältnis:4:3 (XGA) Videomodi:**Datenmodi:MAX 1024x768 Max. Leistung:200 Watt Spannung:100V - 240V Größe (cm) (HxBxT):6 x 22 x 25 Gewicht:2,2 kg Lampenlebensdauer (volle Leistung)::1.000 Stunden Lampentyp: UHPL Lampenleistung: 120 Watt Lampenanzahl: 1 Anzeigetyp: 2 cm DLP (1) Standard-Zoomobjektiv: 1,25:1 Fokus: Manuelle Projektionsentfernung (m): 1,5 - 30,5 Bildgröße (cm): 76 - 1971
Dieser Videoprojektor wird verwendet, um strukturierte Lichtmuster auf das zu scannende Objekt zu projizieren. Das strukturierte Muster besteht aus vertikalen und horizontalen weißen Lichtstreifen, die in einer Datei gespeichert werden und Webcams erfassen diese verzerrten Streifen.
Verwenden Sie vorzugsweise solche Kameras, die per Software steuerbar sind, da Sie Fokus, Helligkeit, Auflösung und Bildqualität anpassen müssen. Es ist möglich, DSLR-Kameras mit SDKs zu verwenden, die von jeder Marke bereitgestellt werden.
Montage und Tests wurden mit seiner Unterstützung im Kopenhagener Fablab durchgeführt.
Schritt 4: Experimentieren mit Scanner
Zum Testen des Systems wurde ein Fischspielzeug verwendet und Sie können das aufgenommene Bild sehen. Alle erfassten Dateien und auch die Ausgabepunktwolke sind in der angehängten Datei enthalten.
Sie können die PLY-Punktwolkendatei mit Meshlab öffnen:
meshlab.sourceforge.net/
Schritt 5: Einige andere Scanergebnisse
Hier sehen Sie einige menschliche Gesichtsscans und 3D-Scans einer Wand. Es gibt immer einige Ausreißer aufgrund von Reflexionen oder ungenauen Bildergebnissen.
Schritt 6: 3D-Scanner-GUI
Um die 3D-Scan-Software in diesem Schritt zu testen, füge ich zwei Datensätze hinzu, einer ist der Scan eines Fisches und der andere ist nur eine ebene Wand, um die Genauigkeit zu sehen. Öffnen Sie die ZIP-Dateien und führen Sie SL3DGUI.py aus. Für die Installation überprüfen Sie Schritt 2. Senden Sie hier eine Nachricht an meinen Posteingang für alle Quellcodes.
Um den 3D-Scan-Teil zu verwenden, müssen Sie zwei Kameras und einen Projektor installieren, aber für andere Teile klicken Sie einfach auf die Schaltfläche. Um die Beispieldaten zu testen, klicken Sie zuerst auf Prozess, dann auf Schwellenwert, Stereo-Match und schließlich auf Punktwolke. Installieren Sie Meshlab, um die Punktwolke anzuzeigen.
meshlab.sourceforge.net/
Empfohlen:
Ein kostengünstiger IoT-Luftqualitätsmonitor basierend auf RaspberryPi 4: 15 Schritte (mit Bildern)
Ein kostengünstiger IoT-Luftqualitätsmonitor auf Basis von RaspberryPi 4: Santiago, Chile, hat während eines winterlichen Umweltnotstands das Privileg, in einem der schönsten Länder der Welt zu leben, aber leider sind es nicht nur Rosen. Chile leidet während der Wintersaison sehr unter Luftverschmutzung, Mai
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: 6 Schritte
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: Kurze Version meiner Geschichte: Ich habe eine Kamera gekauft, sie kam mit einem Bündel an Zubehör, darunter ein Samsonite 1100 Stativ. Ich habe ein Einbeinstativ. Ich möchte sehr bald Fotos mit einem Schwenkkopf auf dem Einbeinstativ machen und hatte keine 40 $, um ein L
Laptopständer (basierend auf IKEA Halterungen): 5 Schritte
Laptopständer (basierend auf IKEA Brackets): Die Erstellung dieses Ständers dauerte weniger als 20 Minuten. Ich habe zwei Halterungen VALTER aus IKEA Stück Holz, 2 Schrauben und altes Mauspad verwendet