Heim Web-Frontend CSS-Tutorial Erstellen einer AR-Profilkarte mit Echtzeit-Gesichtserkennung

Erstellen einer AR-Profilkarte mit Echtzeit-Gesichtserkennung

Nov 15, 2024 pm 02:48 PM

Building a AR Profile Card with Real-Time Face Detection

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;
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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);
  });
}
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1668
14
PHP-Tutorial
1273
29
C#-Tutorial
1256
24
Ein Vergleich statischer Formanbieter Ein Vergleich statischer Formanbieter Apr 16, 2025 am 11:20 AM

Versuchen wir, hier einen Begriff zu prägen: "Statischer Formanbieter". Sie bringen Ihre HTML

Ein Beweis für das Konzept, um Sass schneller zu machen Ein Beweis für das Konzept, um Sass schneller zu machen Apr 16, 2025 am 10:38 AM

Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Wöchentliche Plattformnachrichten: HTML -Ladeattribut, die Haupt -ARIA -Spezifikationen und Wechsel von Iframe zu Shadow Dom Apr 17, 2025 am 10:55 AM

In der Zusammenfassung der Plattformnachrichten in dieser Woche stellt Chrome ein neues Attribut für das Laden, Zugänglichkeitspezifikationen für Webentwickler und die BBC -Bewegungen ein

Einige praktisch mit dem HTML-Dialogelement Einige praktisch mit dem HTML-Dialogelement Apr 16, 2025 am 11:33 AM

Ich schaue mir das HTML -Element zum ersten Mal an. Ich habe es für eine Weile dessen bewusst, aber Haven &#039; Es wurde es noch nicht für einen Dreh genommen. Es hat einige ziemlich cool und

Papierform Papierform Apr 16, 2025 am 11:24 AM

Buy or Build ist eine klassische Technologiedebatte. Das Aufbau von Dingen selbst ist vielleicht billiger, weil Ihre Kreditkartenrechnung keine Werbebuchung gibt, aber

Wohin sollte 'Podcast' -Link abonnieren? Wohin sollte 'Podcast' -Link abonnieren? Apr 16, 2025 pm 12:04 PM

Für eine Weile war iTunes der große Hund im Podcasting. Wenn Sie also "Abonnieren Sie Podcast" verlinkt haben, um zu mögen:

Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-Ladeindikator Wöchentliche Plattform News: Textabstand Lesezeichen, Top-Level-Erwartung, neuer Verstärker-Ladeindikator Apr 17, 2025 am 11:26 AM

In der Roundup in dieser Woche, einem praktischen Lesezeichen für die Inspektion von Typografie, unter Verwendung dessen, wie sich JavaScript -Module gegenseitig importieren, sowie Facebook &#039; s.

Es ist alles in der Kopf Es ist alles in der Kopf Apr 15, 2025 am 11:01 AM

Der Dokumentkopf ist vielleicht nicht der glamouröseste Teil einer Website, aber was darauf einfließt

See all articles