Leitfäden & Checklisten·Technologien· 7 min read

Augmented Reality mit ArUco-Marker in OpenCV

In diesem Handbuch werden wir untersuchen, wie Sie eine AR-Anwendung mithilfe von AruCo-Markern und der OpenCV-Bibliothek in Python erstellen.

Olena Dontsova
Olena Dontsova

Leiter Marketing

Augmented Reality mit ArUco-Marker in OpenCV

Einführung in Augmented Reality und AruCo Markers

Augmented Reality (AR) hat sich zu einer transformativen Technologie entwickelt, die die Lücke zwischen dem physischen und dem digitalen Bereich überbrückt. Im Gegensatz zu Virtual Reality (VR), die vollständig immersive digitale Umgebungen schafft, verbessert AR unsere Erfahrungen in der realen Welt, indem virtuelle Inhalte auf die physische Umgebung übertragen werden. Diese Verschmelzung von realer und digitaler Welt eröffnet eine Vielzahl von Möglichkeiten in verschiedenen Bereichen, von Unterhaltung und Bildung bis hin zu Anwendungen im Gesundheitswesen und in der Industrie.

In AR werden digitale Informationen wie Bilder, Videos, Animationen und 3D-Modelle nahtlos in die Sicht des Benutzers auf die reale Welt integriert. Diese Integration kann über Geräte wie Smartphones, Tablets, Datenbrillen und sogar spezielle AR-Headsets erfolgen. Stellen Sie sich vor, Sie könnten unterwegs Kontextinformationen zu Sehenswürdigkeiten sehen, sich Möbel in Ihrem Zuhause vor dem Kauf vorstellen oder während einer Reparatur schrittweise Anleitungen erhalten, die einem realen Objekt überlagert werden.

Vorstellung von AruCo Markern und ihrer Bedeutung

Eine der wichtigsten Herausforderungen bei AR ist die präzise Verankerung digitaler Inhalte in der realen Welt. Hier kommen Marker ins Spiel. Marker sind speziell entworfene Muster, die von Computer-Vision-Algorithmen leicht erkannt und erkannt werden können. Sie dienen als Referenzpunkte in der physischen Umgebung und ermöglichen es AR-Systemen, die Position und Ausrichtung des Geräts des Benutzers im Verhältnis zu diesen Markierungen zu verstehen.

ARuCo-Marker, kurz für „Augmented Reality University of Cordoba“, sind eine Art quadratischer Marker, der für markerbasierte AR-Anwendungen immer beliebter wird. Diese Marker besitzen mehrere Eigenschaften, die sie ideal für das Tracking machen:

Schlichtheit

AruCo-Marker bestehen aus einem einfachen Raster aus schwarzen und weißen Quadraten, sodass sie leicht generiert, gedruckt und erkannt werden können.

Unverwechselbare Muster

Jeder Marker hat ein einzigartiges Muster, das in seiner Anordnung der Quadrate kodiert ist und eine zuverlässige Identifizierung ermöglicht.

Robuste Erkennung

AruCo-Marker sind so konzipiert, dass sie auch unter schwierigen Bedingungen, wie z. B. unterschiedlichen Lichtverhältnissen und Winkeln, erkennbar sind.
ARuCo-Marker dienen als visuelle Anker in der Umgebung und ermöglichen es AR-Systemen, digitale Inhalte präzise mit der physischen Welt zu überlagern. Wenn eine Kamera oder ein Gerät eine Szene mit ARuCo-Markern aufnimmt, kann das AR-System Computer-Vision-Techniken verwenden, um die Positionen und Ausrichtungen der Marker zu erkennen und zu analysieren. Diese Informationen bilden die Grundlage für die Ausrichtung und das Rendern virtueller Inhalte auf eine Weise, die sich nahtlos in die Sicht des Benutzers einfügt.

ArUco markers are designed to be detectable even in challenging conditions, such as varying lighting and angles.

OpenCV für Augmented Reality verwenden

In diesem Tutorial werden wir die Leistungsfähigkeit von OpenCV, einer vielseitigen und weit verbreiteten Open-Source-Bibliothek für Computer Vision, nutzen, um Augmented Reality mithilfe von AruCo-Markern zu implementieren. OpenCV bietet eine Fülle von Funktionen und Tools für Bildverarbeitung, Mustererkennung, Kamerakalibrierung und mehr. Durch die Kombination der Funktionen von OpenCV mit AruCo-Markern können wir ein robustes AR-Erlebnis schaffen, das Marker erkennt, ihre Posen schätzt und die Realität mit virtuellen Inhalten erweitert.

In den folgenden Abschnitten dieses Tutorials werden wir uns mit den Details der Generierung von ARuCo-Markern, der Kalibrierung der Kamera, der Erkennung von Markern, der Schätzung ihrer Posen und schließlich dem Überlagern digitaler Inhalte auf die Marker befassen. Am Ende dieses Leitfadens werden Sie ein solides Verständnis dafür haben, wie Sie Ihre eigenen Augmented-Reality-Anwendungen mithilfe von AruCo-Markern und OpenCV erstellen können, was Ihnen die Tür zu unzähligen kreativen Möglichkeiten in der AR-Welt öffnet.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen installiert sind:

  • Python (3.6 oder höher)
  • OpenCV-Bibliothek (pip installiere opencv-Python )
  • Numpy-Bibliothek (pip install numpy )

Generieren von Aruco-Markern

AruCo-Marker sind spezielle Muster, die von Computer-Vision-Algorithmen leicht erkannt und erkannt werden können. Beginnen wir mit der Generierung einer Reihe von AruCo-Markern mithilfe von OpenCV.

Python

importiere cv2import cv2.aruco als arucoimport numpy als np# Erstelle ein Wörterbuch von Aruco-Markern aruco_dict = aruco.dictionary_get (aruco.dict_6x6_250) # Erstelle und speichere mehrere Aruco-Marker für i in range (5): marker_image = aruco.drawMarker (aruco_dict, i, 200) cv2.imwrite (fmarker_ {i} .png“, marker_bild)

Dieser Code generiert fünf AruCo-Marker und speichert sie als Bilddateien.

Kamerakalibrierung

Für eine genaue Markererkennung und Posenschätzung ist die Kamerakalibrierung von entscheidender Bedeutung. Nehmen Sie mehrere Bilder eines Schachbrettmusters aus verschiedenen Blickwinkeln auf und verwenden Sie sie, um die Kamera zu kalibrieren.

Python

# Bilder für die Kamerakalibrierung aufnehmen#... # Kamerakalibrierung durchführen#... # Kalibrierungsparameter speichern#...

Markererkennung und Posenschätzung

Lassen Sie uns Videos von der Kamera aufnehmen und AruCo-Marker in Echtzeit erkennen. Wir schätzen die Position und Ausrichtung (Pose) der erkannten Marker ab.

# Kamera und Marker initialisieren detectorcap = cv2.videoCapture (0) parameters = aruco.DetectorParameters_create () while True: ret, frame = cap.read () # Erkennt die Ecken und IDs der Aruco-Marker, _ = aruco.detectMarkers (frame, aruco_dict, parameters=parameters) wenn ids nicht None ist: # Marker zeichnen und Posen schätzen rvecs, tvecs s, _ = aruco.estimatePoseSingleMarkers (corners, 0.05, camera_matrix, dist_coeffs) für i im Bereich (ids.size): aruco.drawAxis (frame, camera_matrix, dist_coeffs, rvecs [i], tvecs [i], 0.1) cv2.imshow („AR mit AruCo“, frame) if cv2.waitKey (1) & 0xFF == ord ('q'): breakcap.release () cv2.destroyAllWindows ()

Dieser Code erfasst das Video von der Kamera, erkennt ARuCo-Marker, schätzt ihre Posen und visualisiert das AR-Erlebnis, indem er Koordinatenachsen über den Markierungen zeichnet.

Augmentieren der Realität

Lassen Sie uns nun die Realität erweitern, indem wir den erkannten ARuCO-Markern virtuelle Inhalte überlagern.

# Laden Sie virtuelle Inhalte (Bild oder 3D-Modell) content = cv2.imread (“ virtual_content.png „) # Laden Sie Ihre Inhalte währenddessen hoch True: ret, frame = cap.read () # Erkenne die Ecken und IDs der Aruco-Marker, _ = aruco.detectMarkers (frame, aruco_dict, parameters=parameters), falls ids nicht None ist: for i in range (ids.size): # Schätzen Sie die Markerpose rvec, tvec vec = aruco.estimatePoseSingleMarkers (corners [i], 0.05, camera_matrix, dist_coeffs) # Projiziere virtuelle Inhalte auf den Marker #... # Zeichne Markierungen aruco.drawDetectedMarkers (frame, corners, ids) cv2.imshow („AR using aRUCO“, frame) if cv2.waitKey ( 1) & 0xFF == ord ('q'): breakcap.release () cv2.destroyAllWindows ()

In diesem Abschnitt würden Sie Ihre eigenen virtuellen Inhalte (Bild oder 3D-Modell) laden und sie auf der Grundlage ihrer geschätzten Posen auf die Marker projizieren.

Herzlichen Glückwunsch!

Sie haben gelernt, eine Augmented Reality-Anwendung mit AruCo-Markern und OpenCV zu erstellen. In diesem Handbuch wurden das Generieren von Markern, die Kamerakalibrierung, die Markererkennung, die Posenschätzung und die Erweiterung der Realität mit virtuellen Inhalten behandelt. Du kannst gerne weiter forschen, Interaktivität hinzufügen oder mit fortgeschritteneren Funktionen experimentieren.

Denken Sie daran, dass Augmented Reality endlose Möglichkeiten für kreative Anwendungen bietet. Dieser Leitfaden dient als solide Grundlage für die Erstellung Ihrer eigenen AR-Erlebnisse.

Referenzen

Fühlen Sie sich frei, jeden Abschnitt zu erweitern und den Code an Ihre Bedürfnisse anzupassen. Dieser umfassende Leitfaden soll den Lesern ein tiefes Verständnis dafür vermitteln, wie Augmented Reality mithilfe von AruCo-Markern und OpenCV implementiert werden kann.

New Articles

New blog posts you may be interested in

How companies lose control: too many tools, too many Excels, too many versions of the truth

How companies lose control: too many tools, too many Excels, too many versions of the truth

Individuelle LösungenGeschäftslösungen & Strategie
6 Minuten Lesezeit

Viele Unternehmen scheitern bei ihrer Digitalisierung nicht, weil sie nichts tun. Ganz im Gegenteil. Sie kaufen nach und nach eine Reihe von Tools, von denen jedes einen kleinen Teil ihres Betriebs löst. Doch mit der Zeit stellen sie fest, dass sie statt eines funktionierenden Systems fragmentierte Prozesse, unzuverlässige Daten und Mitarbeiter haben, die sicherheitshalber ihre eigenen Excel-Tabellen führen.

Weiterlesen
Wie Sie Logistik, Finanzen und Reporting in einen automatisierten Prozess verbinden

Wie Sie Logistik, Finanzen und Reporting in einen automatisierten Prozess verbinden

Individuelle LösungenGeschäftslösungen & Strategie
11 Minuten Lesezeit

In diesem Artikel möchten wir eine Situation analysieren, der wir in der Praxis bereits mehrfach begegnet sind. Sie betrifft natürlich nicht nur Logistikunternehmen in bestimmten Aspekten, aber für heute verwenden wir sie als Beispiel.

Weiterlesen
Praktischer Business- und Technischer Leitfaden für 3D-Produktkonfiguratoren

Praktischer Business- und Technischer Leitfaden für 3D-Produktkonfiguratoren

Leitfäden & ChecklistenTechnologien
17 Minuten Lesezeit

In diesem Artikel teilt Jakub Bily einen praxisnahen Ansatz zur Auswahl des richtigen Konfigurators: Wann 2D sinnvoll ist, wann 3D die bessere Wahl darstellt und wann sich AR als zusätzliche Erweiterung lohnt. Er erläutert, welche Faktoren typischerweise den größten Einfluss auf das Entwicklungsbudget haben und wie die Integration mit einer E-Commerce-Plattform, einem ERP-System oder Produktionsworkflows den gesamten Vertriebsprozess neu gestalten kann. Der Beitrag geht außerdem kurz auf die technische Seite der Entwicklung eines 3D-Konfigurators ein, einschließlich der Integration in bestehende Systeme – alles basierend auf praktischer Projekterfahrung.

Weiterlesen

Read also

Recommended reads for You

How companies lose control: too many tools, too many Excels, too many versions of the truth

How companies lose control: too many tools, too many Excels, too many versions of the truth

Individuelle LösungenGeschäftslösungen & Strategie
6 Minuten Lesezeit

Viele Unternehmen scheitern bei ihrer Digitalisierung nicht, weil sie nichts tun. Ganz im Gegenteil. Sie kaufen nach und nach eine Reihe von Tools, von denen jedes einen kleinen Teil ihres Betriebs löst. Doch mit der Zeit stellen sie fest, dass sie statt eines funktionierenden Systems fragmentierte Prozesse, unzuverlässige Daten und Mitarbeiter haben, die sicherheitshalber ihre eigenen Excel-Tabellen führen.

Weiterlesen
Die richtige Hotelsoftware und ein KI-gestütztes CRM-System, das wirklich zu Ihnen passt

Die richtige Hotelsoftware und ein KI-gestütztes CRM-System, das wirklich zu Ihnen passt

ProjektmanagementKI
7 Minuten Lesezeit

Hilfreiche Einblicke von unserer Projektmanagerin Hsinyu Ko für Hotels, die bessere Software suchen – Software, die wirklich zu ihren Arbeitsabläufen passt. Basierend auf unseren Erfahrungen aus zahlreichen Softwareprojekten.

Weiterlesen
Warum konversationelle KI die Zukunft des Sprachsupports ist

Warum konversationelle KI die Zukunft des Sprachsupports ist

TechnologienKI
12 Minuten Lesezeit

Die meisten „KI“ -Callcenter-Bots folgen einfach einem Skript. Sie scheitern, wenn jemand etwas Unerwartetes fragt. Bei Moravio entwickeln wir intelligente Sprachassistenten, die Menschen wirklich verstehen, auch komplexe Fragen, und auf natürliche Weise wie ein Mensch antworten. Dies hilft Unternehmen, kein Geld mehr zu verlieren und Routineanrufen zu vertrauen. Kunden erhalten jederzeit schnellen, natürlichen Support, und die Teams können sich auf größere Probleme konzentrieren.

Weiterlesen
Jakub Bílý

Jakub Bílý

Leiter Geschäftsentwicklung

Gemeinsam zu Ergebnissen!

Füllen Sie das Formular aus und wir antworten innerhalb von 8 Geschäftsstunden.
Wir beantworten gerne all Ihre Fragen!
Wir analysieren Ihr Projekt und besprechen die Details.

Kontaktieren Sie uns

KI-Übersetzung