4
min. Lesezeit

Transformation von Web-Erlebnissen mit MediaPipe und JavaScript: Ein umfassender Einblick

Dieser Artikel befasst sich mit der nahtlosen Verschmelzung von JavaScript und dem MediaPipe-Framework von Google und zeigt deren kombiniertes Potenzial anhand von praktischen Codebeispielen, realen Anwendungsfällen und schrittweisen Anleitungen zur Erstellung innovativer Webanwendungen, insbesondere im Bereich Augmented Reality (AR), mit erweiterten interaktiven Funktionen.
July 30, 2025
[Updated]

Inhaltsverzeichniss

In der dynamischen Landschaft der Webentwicklung entsteht Innovation oft aus der harmonischen Integration modernster Technologien. Eine solche Synergie besteht zwischen JavaScript und dem MediaPipe-Framework von Google, das eine Möglichkeit bietet, Weberlebnisse durch Computervision und maschinelles Lernen in Echtzeit zu revolutionieren. In dieser eingehenden Untersuchung werden wir uns in den Bereichen JavaScript und MediaPipe zurechtfinden und ihr kombiniertes Potenzial anhand praktischer Codebeispiele, Anwendungsfälle und schrittweiser Anleitungen enthüllen.

Enthüllung des MediaPipe Toolkits

Bevor wir uns mit praktischen Implementierungen befassen, sollten wir uns mit dem vielseitigen Toolkit vertraut machen, das MediaPipe bietet. MediaPipe, entwickelt von Google, stattet Entwickler mit vorgefertigten Modellen für maschinelles Lernen für Aufgaben wie Gesichtserkennung, Posenschätzung und mehr aus. Durch die nahtlose Integration dieser Modelle in JavaScript öffnen wir Türen zu einer Vielzahl kreativer Anwendungen.

Voraussetzungen

Um sich auf diese immersive Reise zu begeben, ist ein solides Verständnis der JavaScript-Grundlagen und der Webentwicklung unerlässlich. Stellen Sie sicher, dass Sie einen Code-Editor, Node.js, und ein Gerät mit einer Webcam zum Experimentieren haben.

Anwendungsfall: Augmented-Reality-Filter

Stellen Sie sich eine Webanwendung vor, die die Gesichter der Benutzer mit interaktiven und unterhaltsamen Augmented-Reality-Filtern (AR) verschönert. Dieses reale Szenario wird uns als Leinwand für Erkundungen dienen.

Schritt 1: Projektinitialisierung

  1. Erstellen Sie ein neues Projektverzeichnis und richten Sie ein Node.js Projekt ein:


mkdir ar-filters-appcd ar-filters-appnpm init -y

  1. Installieren Sie die erforderlichen Abhängigkeiten:


npm installiere @mediapipe /face_mesh @mediapipe /camera_utils @mediapipe /drawing_utils

  1. Strukturieren Sie das Projekt wie folgt:


ar-filters-app/√── index.html√── index.html√── js/│ √── main.js│ ── filters.js√── styles/│ 58-── main.css√── assets/│ √── assets/│ √── filters/│ │ √── glasses.png│ bow.gif~── bilder/ %── sample.jpg

Schritt 2: MediaPipe initialisieren

In main.js, initialisieren Sie das Face-Mesh-Modul und die Kamera von MediaPipe:

importiere {Camera} von "@mediapipe /camera_utils „; importiere {FaceMesh} aus" @mediapipe /face_mesh „; importiere {drawConnectors, drawLandmarks} aus" @mediapipe /drawing_utils „; const video = document.querySelector („video“); const canvas = document.querySelector („canvas“); const context = canvas.getContext („2d“); const FaceMesh = neues FaceMesh ({locateFile: (Datei) => `.. /node_modules/ @mediapipe /face_mesh/ $ {file} `,}); const camera = new Camera (video, {onFrame: async () => {await faceMesh.send ({image: video}); drawFaceMeshResults ();}, facingMode: „user“, Breite: 640, Höhe: 480,}); camera.start (); Funktion drawFaceMesh/ Results () {//Implementieren Sie hier das Face-Mesh-Ergebnis-Rendering}

Schritt 3: AR-Filter anwenden

In filters.js, wenden Sie AR-Filter auf die erkannten Gesichtsmarkierungen an:

const filterCanvas = document.createElement („canvas“); const filterContext = filterCanvas.getContext („2d“); const glassesImage = document.getElementById („glasses“); const crownImage = document.getElementById („crown“); FaceMesh.onResults ((results) => {//Gesichtsmarkierungen aus Ergebnissen extrahieren const landmarks = results.multifacelELandmarks;//Lösche die Filterfläche filterContext.clearRect (0, 0, filterCanvas.width, filterCanvas.Height);//Filter auf Landmarken anwenden landmarks.forEach ((landmark) => {const noseBridge = landmark [5]; const leftEye = landmark [159]; const rightEye = landmark [386];//Brillenfilter anwenden const glassesX = LeftEye.X; const glassesY = NoseBridge.Y - 10; filterContext.drawImage (glassesImage, glassesX, glassesY, 100, 40);//Kronenfilter anwenden const crownX = rightEye.X - 50; const crownY = rightEye.Y - 100; filtercontext.drawImage (crownImage, crownX, crownY, 100, 100);});//Zeichne gefilterte Bilder auf die Hauptleinwand context.drawImage (filterCanvas, 0, 0, canvas.width, canvas.height);});

Schritt 4: Styling und Benutzeroberfläche

In main.css, stylen Sie die Video- und Canvas-Elemente:

body {margin: 0; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f0f0f0;} video, canvas {border: 2px solid #333; max-width: 100%;}

Schritt 5: Einpacken

In index.html, bring alles zusammen:

<html lang="en"><head><title><DOCTYPE html>AR-Filter-App <body><video autoplay playsinline><canvas><script type="module" src="js/main.js"><script type="module" src="js/filters.js"></script></script></canvas></video></body></title></head></html><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="styles/main.css">

Fazit

Diese umfassende Untersuchung hat die starke Verschmelzung von JavaScript und MediaPipe enthüllt, wie unsere Augmented-Reality-Filteranwendung zeigt. Indem Sie in die bereitgestellten Schritte, Codebeispiele und praktischen Anwendungsfälle eintauchen, haben Sie sich auf eine Reise begeben, die über AR-Filter hinausgeht — sie erstreckt sich auch auf die Neugestaltung von Weberlebnissen. Denken Sie bei der weiteren Nutzung der Leistungsfähigkeit von MediaPipe und JavaScript daran, dass Innovation keine Grenzen kennt. Viel Spaß beim Programmieren!

Jakub Bílý

Leiter/in Geschäftsentwicklung

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

Kontakt aufnehmen

Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
KI-übersetzt