Heim >Web-Frontend >CSS-Tutorial >Erstellen einer AR-Profilkarte mit Echtzeit-Gesichtserkennung
Einführung
Stellen Sie sich eine interaktive 3D-Profilkarte vor, die Ihre Gesichtsbewegungen verfolgt und in Echtzeit reagiert – das ist die Essenz der 3D-AR-Profilkarte. Erstellt von P-R. Lopez, einem leitenden Entwickler mit Fachkenntnissen in JavaScript, React und Firebase, kombiniert diese Karte modernste Gesichtserkennungstechnologie mit einem schlanken, hochwertigen Design mit dynamischen Leuchteffekten, satten Farbverläufen und einem anspruchsvollen Layout. Es ist perfekt, um Benutzer auf persönlicher Ebene anzusprechen.
In diesem Tutorial erstellen wir diese interaktive Profilkarte mit HTML, CSS und JavaScript mit FaceMesh von TensorFlow für die Gesichtserkennung in Echtzeit. Diese Komponente ist ideal für professionelle Portfolios oder Anwendungen, die ein unvergessliches, interaktives Erlebnis erfordern. Wer sich für interaktivere Projekte interessiert, sollte sich Gladiators Battle nicht entgehen lassen – ein spannendes Gladiatoren-Kartenspiel, inspiriert vom antiken Rom, das fesselnde Strategie und visuell atemberaubendes Design vereint.
Lassen Sie uns mit der Erstellung dieser Profilkarte beginnen!
Schritt 1: Einrichten der HTML-Struktur
Unsere Profilkarte enthält einen Webcam-Feed zur Gesichtserkennung, Benutzerinformationen und Social-Media-Symbole.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>3D AR Profile Card with Face Detection</title> <link rel="stylesheet" href="styles.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"> </head> <body> <!-- Video for webcam stream --> <video> <p>Key HTML Elements<br> Webcam Video: Captures real-time video for face detection.<br> Profile Card: Contains profile information, including name, location, experience, skills, and links to Gladiators Battle and social media.<br> Social Icons: Link to GitHub, LinkedIn, and Twitter (or X), providing a fully interactive and connected profile.<br> Step 2: Styling the Profile Card with CSS<br> The CSS brings the 3D and AR effects to life, with gradients, glowing shadows, and animations for an eye-catching experience.</p> <p>Body and Background<br> The body uses a radial gradient to create a soft, dark background that complements the card’s glowing effects.<br> </p> <pre class="brush:php;toolbar:false">body { display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; background: radial-gradient(circle at center, #2d2d2d, #1b1b1b); overflow: hidden; font-family: 'Arial', sans-serif; } /* Webcam */ #webcam { position: fixed; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; z-index: -1; }
Profilkartendesign
Die Profilkarte selbst nutzt Farbverlaufshintergründe, 3D-Transformationen und Schatteneffekte, um hervorzustechen.
.profile-card { position: relative; width: 370px; padding: 35px; border-radius: 25px; background: linear-gradient(145deg, #3d3d3d, #2a2a2a); box-shadow: 0 15px 25px rgba(0, 0, 0, 0.6), 0 0 25px rgba(255, 215, 0, 0.3), inset 0 0 15px rgba(255, 255, 255, 0.1); transform-style: preserve-3d; transform: perspective(1000px); transition: transform 0.3s ease, box-shadow 0.3s ease; z-index: 1; } .profile-card:hover { box-shadow: 0 25px 50px rgba(0, 0, 0, 0.7), 0 0 50px rgba(255, 215, 0, 0.7), inset 0 0 15px rgba(255, 255, 255, 0.2); transform: scale(1.03); }
Avatar- und Text-Styling
Der Avatar und der Text sind so gestaltet, dass sie zur erstklassigen Ästhetik der Karte passen, mit leuchtenden und kräftigen Effekten.
.profile-avatar { width: 130px; height: 130px; background: url('avatar.jpg') center/cover; border-radius: 50%; margin: 0 auto; box-shadow: 0px 0px 20px rgba(255, 255, 255, 0.4), 0px 0px 30px rgba(255, 215, 0, 0.5); transform: translateZ(70px); transition: box-shadow 0.3s ease, transform 0.3s ease; } .profile-name { font-size: 30px; text-align: center; color: #ffffff; margin-top: 20px; transform: translateZ(50px); background: linear-gradient(45deg, #ffd700, #ffa500, #ff4500); -webkit-background-clip: text; color: transparent; font-weight: bold; text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.4); }
Schritt 3: Gesichtserkennung mit TensorFlow FaceMesh
Der JavaScript-Code verwendet das FaceMesh-Modell von TensorFlow, um Gesichter zu erkennen und das Profilbild dynamisch festzulegen. Dieser innovative Ansatz verleiht der Karte ein AR-Feeling.
Webcam- und Gesichtserkennungs-Setup
Die Funktion „setupCameraAndModel“ initialisiert den Webcam-Feed und lädt das FaceMesh-Modell, um mit der Gesichtsverfolgung zu beginnen.
const video = document.getElementById('webcam'); const profileAvatar = document.querySelector('.profile-avatar'); async function setupCameraAndModel() { const model = await facemesh.load(); const stream = await navigator.mediaDevices.getUserMedia({ video: { width: 640, height: 480 } }); video.srcObject = stream; video.addEventListener('loadeddata', () => { detectFaceAndCapture(model, stream); }); }
Gesichtserkennung und Avatar-Update
Die Funktion „DetectFaceAndCapture“ erfasst ein Foto, wenn ein Gesicht erkannt wird, und legt es als Hintergrund für den Profil-Avatar fest.
async function detectFaceAndCapture(model, stream) { const predictions = await model.estimateFaces(video); if (predictions.length > 0) { const canvas = document.createElement('canvas'); canvas.width = video.videoWidth; canvas.height = video.videoHeight; const context = canvas.getContext('2d'); context.drawImage(video, 0, 0, canvas.width, canvas.height); const imageDataUrl = canvas.toDataURL('image/png'); profileAvatar.style.backgroundImage = `url(${imageDataUrl})`; stream.getTracks().forEach(track => track.stop()); video.style.display = 'none'; } else { requestAnimationFrame(() => detectFaceAndCapture(model, stream)); } } // Initialize camera and model setupCameraAndModel();
Diese Methode verleiht der Profilkarte eine einzigartige Note, indem das Profilbild mithilfe der AR-Technologie dynamisch in Echtzeit festgelegt wird.
Fazit
Die Erstellung einer interaktiven 3D-AR-Profilkarte mit Echtzeit-Gesichtserkennung verleiht jeder privaten oder beruflichen Website ein modernes, erstklassiges Erscheinungsbild. Dieses Tutorial kombiniert CSS für 3D-Effekte und JavaScript für die dynamische Gesichtserkennung mit TensorFlow und demonstriert so einen leistungsstarken Ansatz zur Verbesserung der Benutzerinteraktion. Wenn Sie an innovativeren, immersiveren Projekten interessiert sind, sollten Sie sich Gladiators Battle nicht entgehen lassen – ein spannendes Gladiatoren-Kartenspiel, das historische Themen mit strategischem Gameplay verbindet. Entdecken Sie mehr auf GladiatorsBattle.com.
? Entdecken Sie mehr:
Entdecken Sie Gladiators Battle: Treten Sie ein in eine Welt alter Krieger und epischer Schlachten unter https://gladiatorsbattle.com.
GitHub: Schauen Sie sich Codebeispiele und Projekte unter https://github.com/HanGPIErr an.
LinkedIn: Verfolgen Sie Updates unter https://www.linkedin.com/in/pierre-romain-lopez/.
Twitter: Bleiben Sie auf X unter https://x.com/GladiatorsBT in Verbindung.
Dieser Artikel ist Ihr Einstieg in die Erstellung visuell beeindruckender und interaktiver Webelemente. Seien Sie dabei, wenn wir weiterhin nach Möglichkeiten suchen, fortschrittliche Technologie mit intuitivem, hochwertigem Design zu verbinden.
Das obige ist der detaillierte Inhalt vonErstellen einer AR-Profilkarte mit Echtzeit-Gesichtserkennung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!