Maison développement back-end tutoriel php PHP appelle l'appareil photo pour prendre des photos et ajouter des filtres en temps réel : Guide de démarrage rapide

PHP appelle l'appareil photo pour prendre des photos et ajouter des filtres en temps réel : Guide de démarrage rapide

Jul 31, 2023 pm 09:27 PM
php调用摄像头 拍照照片 实时滤镜

PHP appelle l'appareil photo pour prendre des photos et ajoute des filtres en temps réel : Guide de démarrage rapide

La technologie photographique a constamment innové et développé, et maintenant, nous pouvons utiliser le langage PHP pour appeler l'appareil photo et ajouter des effets de filtre en temps réel pour ajouter plus à nos photos Quel plaisir. Cet article vous fournira un guide de démarrage rapide pour vous apprendre à utiliser PHP pour appeler l'appareil photo afin de prendre des photos et ajouter les effets de filtre en temps réel souhaités.

1. Installez les composants et bibliothèques nécessaires

Tout d'abord, nous devons installer certains composants et bibliothèques nécessaires pour implémenter cette fonction. Nous devons installer les composants suivants :

  1. Bibliothèque PHP-GD : Il s'agit d'une bibliothèque de traitement d'image PHP qui peut être utilisée pour ajouter des filtres et d'autres opérations de traitement d'image.
  2. Video4Linux : Il s'agit d'une interface qui fournit une fonctionnalité de capture vidéo pour les systèmes Linux.

Vous pouvez installer ces composants sur votre système Ubuntu via la commande suivante :

sudo apt-get install php-gd
sudo apt-get install v4l-utils
Copier après la connexion

2. Créez une page d'aperçu en temps réel de la caméra

Ensuite, nous devons créer une page PHP pour afficher l'aperçu en temps réel de la caméra. Vous pouvez utiliser le code suivant pour créer une page simple pour afficher l'image en direct de la caméra :

<!DOCTYPE html>
<html>
<head>
    <title>Camera Preview</title>
</head>
<body>
    <h1>Camera Preview</h1>
    <img id="preview" src="" width="640" height="480" />
    <script>
        var videoElem = document.createElement('video');
        var canvasElem = document.createElement('canvas');
        var context = canvasElem.getContext('2d');

        navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
            videoElem.srcObject = stream;
            videoElem.play();

            setInterval(function() {
                context.drawImage(videoElem, 0, 0, canvasElem.width, canvasElem.height);
                var imgData = canvasElem.toDataURL('image/jpeg');
                document.getElementById('preview').src = imgData;
            }, 1000);
        }).catch(function(error) {
            console.log('Error: ' + error.message);
        });
    </script>
</body>
</html>
Copier après la connexion

Ce code utilise l'API getUserMedia de JavaScript pour accéder à la caméra et afficher l'image d'aperçu en direct. Il dessine l'image en temps réel sur le canevas via l'élément canvas, convertit les données de l'image en une URL au format codé en Base64 et l'attribue à l'élément img qui affiche l'image d'aperçu.

3. Ajoutez des effets de filtre en temps réel

Maintenant, nous avons implémenté la fonction de prévisualisation en temps réel de la caméra. Ensuite, nous ajouterons un effet de filtre en direct à cette page. Vous pouvez utiliser la bibliothèque PHP-GD pour ajouter divers effets de filtre aux images.

Tout d'abord, nous devons ajouter une zone de sélection de filtre et transmettre sa valeur au code PHP. Utilisez le code suivant pour modifier la page d'aperçu créée ci-dessus :

<!DOCTYPE html>
<html>
<head>
    <title>Camera Preview with Filters</title>
</head>
<body>
    <h1>Camera Preview with Filters</h1>
    <img id="preview" src="" width="640" height="480" />
    <select id="filter">
        <option value="none">None</option>
        <option value="grayscale">Grayscale</option>
        <option value="sepia">Sepia</option>
        <option value="invert">Invert</option>
    </select>

    <script>
        // ... JavaScript code for camera preview ...

        document.getElementById('filter').addEventListener('change', function() {
            var filter = this.value;
            var imgData = canvasElem.toDataURL('image/jpeg');
            
            // Send imgData and filter to server-side PHP code for processing
        });
    </script>
</body>
</html>
Copier après la connexion

Nous avons ajouté un élément de sélection comme zone de sélection de filtre et ajouté un écouteur d'événement en JavaScript. Lorsque la valeur de la zone de sélection change, le filtre sélectionné sera Les valeurs ​. ​et les données d'image sont envoyées au code PHP côté serveur pour traitement.

Maintenant, nous devons recevoir ces données dans le code PHP côté serveur et ajouter les effets correspondants à l'image en fonction de la valeur de filtre sélectionnée. Utilisez le code suivant pour créer un fichier PHP indépendant pour traiter les effets de filtre :

<?php
// Process the image based on the selected filter
if(isset($_POST['filter']) && isset($_POST['imgData'])) {
    $imgData = $_POST['imgData'];
    $filter = $_POST['filter'];
    
    // Create GD image resource from Base64 image data
    $imgResource = imagecreatefromstring(base64_decode(str_replace('data:image/jpeg;base64,', '', $imgData)));

    // Apply filters based on the selected option
    switch($filter) {
        case 'none':
            break;
        case 'grayscale':
            imagefilter($imgResource, IMG_FILTER_GRAYSCALE);
            break;
        case 'sepia':
            imagefilter($imgResource, IMG_FILTER_GRAYSCALE);
            imagefilter($imgResource, IMG_FILTER_COLORIZE, 90, 60, 40);
            break;
        case 'invert':
            imagefilter($imgResource, IMG_FILTER_NEGATE);
            break;
    }

    // Output the filtered image
    header('Content-Type: image/jpeg');
    imagejpeg($imgResource);

    // Clean up resources
    imagedestroy($imgResource);
}
?>
Copier après la connexion

Ce code utilise la bibliothèque PHP-GD pour ajouter les effets correspondants à l'image en fonction de la valeur de filtre reçue et générer l'image traitée au format JPEG.

Enfin, nous devons modifier la page d'aperçu précédente pour envoyer les données d'image et les options de filtrage au code PHP côté serveur pour traitement. Modifiez le code JavaScript dans la page d'aperçu créée précédemment et remplacez-le par le code suivant :

// ... JavaScript code for camera preview ...

document.getElementById('filter').addEventListener('change', function() {
    var filter = this.value;
    var imgData = canvasElem.toDataURL('image/jpeg');
    
    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'filter.php', true);
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xhr.onreadystatechange = function() {
        if(xhr.readyState === 4 && xhr.status === 200) {
            document.getElementById('preview').src = 'data:image/jpeg;base64,' + xhr.responseText;
        }
    };

    var data = 'filter=' + encodeURIComponent(filter) + '&imgData=' + encodeURIComponent(imgData);
    xhr.send(data);
});
Copier après la connexion

Grâce à l'objet XMLHttpRequest de JavaScript, nous pouvons envoyer une requête POST pour transmettre la valeur du filtre sélectionné et les données de l'image au code PHP côté serveur pour traitement. . Ensuite, nous l'attribuons à l'attribut src de l'image d'aperçu en fonction des données codées en Base64 de l'image traitée renvoyées par le serveur.

Maintenant, vous pouvez ouvrir cette page d'aperçu dans votre navigateur et essayer de choisir différents effets de filtre pour voir les changements dans l'image d'aperçu en temps réel. Lorsque vous cliquez sur le bouton photo, le code PHP ajoutera l'effet de filtre sélectionné à l'image et l'affichera.

Cet article fournit un guide de démarrage rapide simple mais basique pour vous apprendre à utiliser PHP pour appeler l'appareil photo afin de prendre des photos et d'ajouter des effets de filtre en temps réel. En utilisant la bibliothèque PHP-GD et l'interface Video4Linux, vous pouvez étendre et améliorer davantage cette fonctionnalité et ajouter des effets plus créatifs à vos photos. Bon codage !

Références :

  1. [PHP GD](https://www.php.net/manual/en/book.image.php)
  2. [Video4Linux](https://www.kernel. org /doc/html/v4.15/media/uapi/v4l/v4l2.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP appelle l'appareil photo pour prendre des photos et ajouter des filtres en temps réel : Guide de démarrage rapide PHP appelle l'appareil photo pour prendre des photos et ajouter des filtres en temps réel : Guide de démarrage rapide Jul 31, 2023 pm 09:27 PM

PHP appelle l'appareil photo pour prendre des photos et ajoute des filtres en temps réel : Guide de démarrage rapide La technologie photographique a constamment innové et développé, et maintenant, nous pouvons utiliser le langage PHP pour appeler l'appareil photo et ajouter des effets de filtre en temps réel pour ajouter plus de plaisir. à nos photos. Cet article vous fournira un guide de démarrage rapide pour vous apprendre à utiliser PHP pour appeler l'appareil photo afin de prendre des photos et ajouter les effets de filtre en temps réel souhaités. 1. Installez les composants et bibliothèques nécessaires. Tout d'abord, nous devons installer certains composants et bibliothèques nécessaires pour implémenter cette fonction. Nous devons installer ce qui suit

Comment appeler la caméra pour la détection d'objets via PHP Comment appeler la caméra pour la détection d'objets via PHP Jul 30, 2023 pm 11:21 PM

Comment appeler la caméra pour la détection d'objets via PHP Les caméras sont devenues très courantes dans la vie moderne. Nous pouvons utiliser des caméras pour effectuer diverses opérations, dont la détection d’objets. Cet article explique comment utiliser le langage PHP pour appeler la caméra et effectuer la détection d'objets. Avant de commencer, nous devons nous assurer que PHP est installé et que la caméra est disponible. Voici les étapes pour utiliser PHP pour la détection d'objets : Installer les bibliothèques pertinentes Pour utiliser PHP pour la détection d'objets, nous devons d'abord installer certaines bibliothèques nécessaires. Ici, nous ferons

PHP appelle la caméra pour l'encodage vidéo en temps réel : pratique de l'entrée à la sortie PHP appelle la caméra pour l'encodage vidéo en temps réel : pratique de l'entrée à la sortie Aug 03, 2023 am 08:10 AM

PHP appelle la caméra pour l'encodage vidéo en temps réel : Résumé pratique de l'entrée à la sortie : Cet article présentera comment utiliser PHP pour appeler la caméra pour l'encodage vidéo en temps réel. Nous y parviendrons en utilisant l'extension FFI de PHP et en appelant la bibliothèque ffmpeg. Mots-clés : PHP, caméra, encodage vidéo, FFI, ffmpeg Introduction Avec l'avancement de la technologie moderne, de plus en plus d'applications nécessitent un traitement vidéo en temps réel. En tant que langage largement utilisé dans le développement Web, PHP espère souvent utiliser PHP

Comment régler l'heure d'affichage pour prendre des photos Comment régler l'heure d'affichage pour prendre des photos Jan 02, 2024 am 10:58 AM

Méthode de réglage : dans le menu des paramètres de l'appareil photo, recherchez une option "Enregistrer la durée de prise de vue" ou "Filigrane", puis activez cette fonction.

PHP appelle la caméra pour le traitement vidéo en temps réel : pratique de l'encodage au décodage PHP appelle la caméra pour le traitement vidéo en temps réel : pratique de l'encodage au décodage Aug 01, 2023 pm 12:21 PM

PHP appelle la caméra pour le traitement vidéo en temps réel : pratique de l'encodage au décodage Le traitement vidéo en temps réel des caméras est très courant dans les applications Internet, en particulier dans des scénarios tels que la vidéoconférence, l'éducation en ligne et les diffusions en direct. Cet article expliquera comment utiliser PHP pour appeler la caméra pour le traitement vidéo en temps réel, y compris les étapes pratiques de l'encodage au décodage, et joindra des exemples de code. 1. Configuration de l'environnement Avant de traiter la vidéo de la caméra, nous devons nous assurer que l'environnement PHP a été configuré et que les bibliothèques et extensions dépendantes pertinentes ont été installées. Pensez à utiliser OpenC

Comment utiliser PHP pour appeler la caméra pour l'enregistrement vidéo Comment utiliser PHP pour appeler la caméra pour l'enregistrement vidéo Aug 03, 2023 pm 01:05 PM

Comment utiliser PHP pour appeler la caméra pour l'enregistrement vidéo Avec les progrès de la technologie, les caméras sont devenues l'un des appareils nécessaires dans la vie quotidienne des gens. Dans le domaine des applications Internet, les caméras sont de plus en plus utilisées. Cet article expliquera comment utiliser PHP pour appeler la caméra pour l'enregistrement vidéo et fournira des exemples de code correspondants, dans l'espoir d'être utile aux développeurs. En PHP, nous pouvons faire fonctionner la caméra en appelant des commandes système. Tout d’abord, nous devons confirmer si le pilote de caméra correspondant a été installé sur le système. Suivant

Comment appeler la caméra et effectuer une reconnaissance faciale en PHP Comment appeler la caméra et effectuer une reconnaissance faciale en PHP Jul 29, 2023 pm 05:14 PM

Comment appeler la caméra et effectuer une reconnaissance faciale en PHP À l'ère numérique d'aujourd'hui, la reconnaissance faciale est devenue une technologie très populaire. Il est largement utilisé dans les systèmes de contrôle d'accès de sécurité, le paiement facial, le déverrouillage facial et d'autres domaines. Cet article explique comment appeler la caméra et effectuer une reconnaissance faciale via le langage PHP. Tout d’abord, nous devons nous assurer que l’appareil photo et le pilote de l’appareil photo correspondant ont été installés sur l’ordinateur. Ensuite, nous devons utiliser la bibliothèque d'extensions PHP pour implémenter les fonctions d'appel de caméra et de reconnaissance faciale. En PHP,

PHP appelle la caméra pour la reconnaissance faciale : exploration des bases à l'application PHP appelle la caméra pour la reconnaissance faciale : exploration des bases à l'application Jul 31, 2023 pm 08:17 PM

PHP appelle la caméra pour la reconnaissance faciale : Exploration des bases à l'application Résumé : Avec le développement de la technologie de l'intelligence artificielle, la reconnaissance faciale est devenue une application importante. Cet article explique comment utiliser PHP pour appeler la caméra pour la reconnaissance faciale et fournit des exemples de code pertinents. Introduction : La reconnaissance faciale est une technologie de reconnaissance d'identité basée sur la biométrie faciale, qui peut être largement utilisée dans la surveillance de la sécurité, le paiement facial, le contrôle d'accès facial et d'autres domaines. Avec la popularité des smartphones et des appareils intelligents, la technologie de reconnaissance faciale a commencé à se développer rapidement dans le domaine mobile. Cet article présentera

See all articles