747|0

162

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【米尔-全志 T527 开发板-试用评测】-OpenCV人脸识别 [复制链接]

OpenCV人脸识别

一、软件环境安装

1.安装OpenCV

sudo apt-get install libopencv-dev python3-opencv

2.安装pip

sudo apt-get install python3-pip
3.安装依赖库
pip install opencv-contrib-python
face模块实际上并不是opencv库的一部分。更确切地说,face是部分的的opencv-contrib库。所以,需要安装opencv-contrib库
二、基本流程
1.人脸检测:
首先需要检测图像中的人脸。OpenCV提供了基于Haar级联分类器的detectMultiScale函数来进行人脸检测。这个函数可以在图像的不同尺度上查找可能的人脸区域。
2.人脸特征提取:
一旦检测到人脸,接下来需要提取人脸的特征。这一步是为了将人脸表示为一个特征向量,该向量可以用于后续的识别过程。
3.训练分类器:
使用提取的特征向量和相应的标签来训练一个分类器。OpenCV提供了多种机器学习算法,如支持向量机(SVM)、k最近邻(k-NN)等,来训练分类器。
4.人脸识别:
在测试阶段,对于新的图像,首先检测图像中的人脸,然后提取其特征,并使用训练好的分类器进行识别。

三、程序代码

# -*- coding: utf-8 -*-
import cv2
import numpy as np
# 读取训练图像
images=[]
images.append(cv2.imread("f01.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("f02.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("f11.png",cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("f12.png",cv2.IMREAD_GRAYSCALE))
# 给训练图像贴标签
labels=[0,0,1,1]
# 读取待识别图像
predict_image=cv2.imread("fTest.png",cv2.IMREAD_GRAYSCALE)
# 识别
recognizer = cv2.face.FisherFaceRecognizer_create()
recognizer.train(images, np.array(labels))
label,confidence= recognizer.predict(predict_image)
# 打印识别结果
print("识别标签label=",label)
print("置信度confidence=",confidence)

四、实验过程

NumPy(Numeric Python)是Python的一种开源的数值计算扩展,也是Python科学计算的基础库
1.程序对应图像如下:
2.运行程序的结果

3.程序对应的彩色图像

4.运行程序结果

5.注意事项

图片的像素大小有要求,要求训练图像的像素大小与检测图像的大小相同
注意更改图像的名称

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表