PHP 使用 php_opencv依赖库做 人脸识别的代码
时间: 2023-12-25 17:05:31 浏览: 83
以下是一个基于php_opencv实现的简单人脸识别代码示例:
```php
// 引入php_opencv扩展和OpenCV库
extension_loaded('opencv') or die('opencv not found');
define('OPENCV_DIR', '/usr/local/opencv-3.4.0');
define('CASCADE_CLASSIFIER', OPENCV_DIR . '/data/haarcascades/haarcascade_frontalface_alt.xml');
// 加载人脸分类器xml文件
$faceCascade = new CvHaarClassifierCascade();
$faceCascade->load(CASCADE_CLASSIFIER);
// 加载待识别的图片,将其转换为灰度图像
$image = cvLoadImage("test.jpg", CV_LOAD_IMAGE_GRAYSCALE);
// 使用分类器对灰度图像进行人脸识别
$faces = $faceCascade->detectMultiScale($image, 1.2, 3, CV_HAAR_SCALE_IMAGE, new CvSize(30, 30));
// 在人脸上绘制矩形框,标记出人脸位置
foreach ($faces as $face) {
cvRectangle($image, $face->x, $face->y,
$face->x + $face->width, $face->y + $face->height,
CvScalar::all(255), 2, CV_AA, 0);
}
// 显示或保存结果
cvShowImage("Result", $image);
cvWaitKey();
cvSaveImage("result.jpg", $image);
```
以上代码中的`test.jpg`是待识别的图片,`result.jpg`是识别结果输出的图片。需要注意的是,为了让代码能够正常运行,需要按照实际情况修改OpenCV库和分类器文件的路径。
阅读全文