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
- Erstellen Sie ein neues Projektverzeichnis und richten Sie ein Node.js Projekt ein:
mkdir ar-filters-appcd ar-filters-appnpm init -y
- Installieren Sie die erforderlichen Abhängigkeiten:
npm installiere @mediapipe /face_mesh @mediapipe /camera_utils @mediapipe /drawing_utils
- 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!






.png)




.webp)

