Maison développement back-end tutoriel php 基于OpenCV的PHP图像人脸识别技术_PHP

基于OpenCV的PHP图像人脸识别技术_PHP

Jun 01, 2016 pm 12:22 PM
opencv 人脸识别

openCV是一个开源的用C/C++开发的计算机图形图像库,非常强大,研究资料很齐全。本文重点是介绍如何使用php来调用其中的局部的功能。人脸侦查技术只是openCV一个应用分支。
1.安装
从源代码编译成一个动态的so文件。
1.1.安装 OpenCV (OpenCV 1.0.0)
下载地址:http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948
#tar xvzf OpenCV-1.0.0.tar.gz
#cd opencv-1.0.0
#./configure
#make
#make install
#make check (检查是否安装全部正确)
提示: 不要指定安装路径,否则后面编译facedetect会找不到OpenCV的路径。
1.2 安装facedetect
下载地址http://www.xarg.org/download/facedetect-1.0.0.tar.gz
#tar xzvf facedetect-1.0.0.tar.gz
#cd facedetect-1.0.0
#phpize && ./configure && make && make install
编译完之后会提示facedetect.so 文件所在的位置。
最后确认在php.ini加入
extension=facedetect.so,重启apache.
2.函数使用
在phpinfo()里检查是否有facedetect这个模块。
从openCV源代码/data/haarcascades/里头取出所有xml文件放在php的执行目录下
//检查有多少个脸型
var_dump(face_count(‘party.jpeg', haarcascade_frontalface_alt.xml'));
//返回脸型在图片中的位置参数,多个则返回数组
$arr = face_detect(‘party.jpeg', haarcascade_frontalface_alt2.xml');
print_r($arr);
3.应用
结合imagick可以将图片做一下应用。因为 face_detect只返回一个矩形参数,包含x,y坐标和w,h长宽参数。下面是我的一个应用demo
复制代码 代码如下:
if($_FILES){
$img = $_FILES['pic']['tmp_name'];
$arr = face_detect($img, ‘haarcascade_frontalface_alt2.xml');
//$arr1 = face_detect($img, 'haarcascade_frontalface_alt_tree.xml');
if(is_array($arr1)) $all =array_merge($arr,$arr1);
else $all = $arr;
$im = new Imagick($img);
//$draw =new ImagickDraw();
//$borderColor = new ImagickPixel('red');
//$draw->setFillAlpha(0.0);
//$draw->setStrokeColor ($borderColor);
//$draw->setStrokeWidth (1);
if(is_array($all)){
foreach ($all as $v){
$im_cl = $im->clone();
$im_cl->cropImage($v['w'],$v['h'],$v['x'],$v['y']);
$im_cl->swirlImage(60);
$im->compositeImage( $im_cl, Imagick::COMPOSITE_OVER , $v['x'], $v['y'] );
//$draw->rectangle($v['x'],$v['y'],$v['x']+$v['w'],$v['y']+$v['h']);
//$im->drawimage($draw);
}
}
header( “Content-Type: image/png” );
echo $im;
}else{
?>


人脸识别试验:只支持jpg,png

上传一张图片



}
?>

参考资料:
http://www.xarg.org/2008/07/face-detection-with-php/
http://www.opencv.org.cn/index.php/首页
http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/index.html

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 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)

Comment faire de la reconnaissance faciale et de la détection de visage en C++ ? Comment faire de la reconnaissance faciale et de la détection de visage en C++ ? Aug 27, 2023 am 08:30 AM

Comment faire de la reconnaissance faciale et de la détection de visage en C++ ? Introduction : La reconnaissance faciale et la détection de visages sont des axes de recherche importants dans le domaine de la vision par ordinateur. Elles sont largement utilisées dans le traitement d'images, la surveillance de la sécurité et d'autres domaines. Cet article explique comment utiliser le langage C++ pour la reconnaissance et la détection des visages, et donne des exemples de code correspondants. 1. Détection de visage La détection de visage fait référence au processus de localisation et d'identification de visages dans une image donnée. OpenCV est une bibliothèque de vision par ordinateur populaire qui fournit des fonctions liées à la détection des visages. Ci-dessous, une personne simple

Installez rapidement le guide d'étude OpenCV à l'aide du gestionnaire de packages pip Installez rapidement le guide d'étude OpenCV à l'aide du gestionnaire de packages pip Jan 18, 2024 am 09:55 AM

Utilisez la commande pip pour installer facilement le didacticiel OpenCV, qui nécessite des exemples de code spécifiques. OpenCV (OpenSource Computer Vision Library) est une bibliothèque de vision par ordinateur open source. Elle contient un grand nombre d'algorithmes et de fonctions de vision par ordinateur, qui peuvent aider les développeurs à créer rapidement des images. et applications liées au traitement vidéo. Avant d'utiliser OpenCV, nous devons d'abord l'installer. Heureusement, Python fournit un outil puissant pour gérer les bibliothèques tierces.

Tutoriel d'installation d'OpenCV : un incontournable pour les utilisateurs de PyCharm Tutoriel d'installation d'OpenCV : un incontournable pour les utilisateurs de PyCharm Feb 22, 2024 pm 09:21 PM

OpenCV est une bibliothèque open source pour la vision par ordinateur et le traitement d'images, largement utilisée dans l'apprentissage automatique, la reconnaissance d'images, le traitement vidéo et d'autres domaines. Lors du développement à l'aide d'OpenCV, afin de mieux déboguer et exécuter des programmes, de nombreux développeurs choisissent d'utiliser PyCharm, un puissant environnement de développement intégré Python. Cet article fournira aux utilisateurs de PyCharm un didacticiel d'installation pour OpenCV, avec des exemples de code spécifiques. Première étape : installer Python Tout d’abord, assurez-vous que Python est installé

Notes d'étude PHP : reconnaissance faciale et traitement d'images Notes d'étude PHP : reconnaissance faciale et traitement d'images Oct 08, 2023 am 11:33 AM

Notes d'étude PHP : Reconnaissance faciale et traitement d'images Préface : Avec le développement de la technologie de l'intelligence artificielle, la reconnaissance faciale et le traitement d'images sont devenus des sujets brûlants. Dans les applications pratiques, la reconnaissance faciale et le traitement d'images sont principalement utilisés dans la surveillance de la sécurité, le déverrouillage facial, la comparaison de cartes, etc. En tant que langage de script côté serveur couramment utilisé, PHP peut également être utilisé pour implémenter des fonctions liées à la reconnaissance faciale et au traitement d'images. Cet article vous présentera la reconnaissance faciale et le traitement d'images en PHP, avec des exemples de code spécifiques. 1. Reconnaissance faciale en PHP La reconnaissance faciale est un

Comment accéder à la reconnaissance faciale DingTalk Comment accéder à la reconnaissance faciale DingTalk Mar 05, 2024 am 08:46 AM

En tant que logiciel de service intelligent, DingTalk joue non seulement un rôle important dans l'apprentissage et le travail, mais s'engage également à améliorer l'efficacité des utilisateurs et à résoudre les problèmes grâce à ses fonctions puissantes. Avec les progrès continus de la technologie, la technologie de reconnaissance faciale a progressivement pénétré notre vie quotidienne et notre travail. Alors comment utiliser l'application DingTalk pour la saisie par reconnaissance faciale ? Ci-dessous, l'éditeur vous proposera une introduction détaillée. Les utilisateurs qui souhaitent en savoir plus peuvent suivre les images et les textes de cet article ! Comment enregistrer des visages sur DingTalk ? Après avoir ouvert le logiciel DingTalk sur votre téléphone mobile, cliquez sur « Workbench » en bas, puis recherchez « Présence et horloge » et cliquez pour ouvrir. 2. Cliquez ensuite sur « Paramètres » en bas à droite de la page de présence pour entrer, puis cliquez sur « Mes paramètres » sur la page des paramètres pour basculer.

Comment désactiver la reconnaissance faciale sur le téléphone Apple_Comment désactiver la reconnaissance faciale sur les paramètres du téléphone Apple Comment désactiver la reconnaissance faciale sur le téléphone Apple_Comment désactiver la reconnaissance faciale sur les paramètres du téléphone Apple Mar 23, 2024 pm 08:20 PM

1. Nous pouvons demander à Siri avant d'aller nous coucher : à qui appartient ce téléphone ? Siri nous aidera automatiquement à désactiver la reconnaissance faciale. 2. Si vous ne souhaitez pas le désactiver, vous pouvez ouvrir Face ID et choisir d'activer [Exiger le regard pour activer Face ID]. De cette façon, l'écran de verrouillage ne peut être ouvert que lorsque nous regardons.

Comment utiliser Golang pour effectuer la reconnaissance faciale et la fusion de visages sur des images Comment utiliser Golang pour effectuer la reconnaissance faciale et la fusion de visages sur des images Aug 26, 2023 pm 05:52 PM

Comment utiliser Golang pour effectuer la reconnaissance faciale et la fusion de visages sur des images. La reconnaissance faciale et la fusion de visages sont des tâches courantes dans le domaine de la vision par ordinateur, et Golang, en tant que langage de programmation efficace et puissant, peut également jouer un rôle important dans ces tâches. Cet article expliquera comment utiliser Golang pour effectuer la reconnaissance faciale et la fusion de visages sur des images, et fournira des exemples de code pertinents. 1. Reconnaissance faciale La reconnaissance faciale fait référence à la technologie permettant de faire correspondre ou d'identifier des visages avec des visages connus grâce aux traits du visage dans des images ou des vidéos. À Golang

Comment tracer des lignes avec des flèches dans OpenCV en utilisant Java ? Comment tracer des lignes avec des flèches dans OpenCV en utilisant Java ? Aug 20, 2023 pm 02:41 PM

Le package org.opencv.imgproc de la bibliothèque JavaOpenCV contient une classe appelée Imgproc qui fournit diverses méthodes pour traiter les images d'entrée. Il fournit un ensemble de méthodes pour dessiner des formes géométriques sur des images. Pour tracer une ligne fléchée, vous devez appeler la méthode arrowedLine() de cette classe. La méthode accepte les paramètres suivants : un objet Mat représentant l'image sur laquelle la ligne doit être tracée. Un objet Point représentant deux points entre des lignes. draw. Un objet scalaire représentant la couleur de la ligne. (BGR) Un entier représentant l'épaisseur de la ligne (par défaut : 1). Exemple importorg.opencv.core.Core;importation

See all articles