首页IT科技opencv人脸识别模型(python中OpenCV的人脸检测功能)

opencv人脸识别模型(python中OpenCV的人脸检测功能)

时间2025-06-20 22:41:23分类IT科技浏览5909
导读:人脸检测是OpenCV的一个很不错的功能,它是人脸识别的基础。人脸识别其实就是一个程序能识别给定图像或视频中的人脸。...

人脸检测是OpenCV的一个很不错的功能                ,它是人脸识别的基础                。人脸识别其实就是一个程序能识别给定图像或视频中的人脸                        。

人脸识别模块特征

1                、是用一系列分好类的图像来“训练                ”程序                        ,并基于这些图像来进行识别       。这就是OpenCV 及其人脸识别模块进行人脸识别的过程        。

2                        、每个识别都具有转置信(confidence)评分       ,因此可在实际应用中通过对其设置阈值来进行筛选                        。

人脸识别两种方式

1       、自己获得图像或从人脸数据库免费获得可用的人脸图像               。

2        、互联网上有许多人脸数据库:为了对这些样本进行人脸识别        ,必须要在包含人脸的样本图像上进行人脸识别        。这是一 个学习的过程                        ,但并不像自己提供的图像那样令人满意                        。

importos importcv2 fromPILimportImage importnumpyasnp defgetImageAndLabels(path): facesSamples=[] ids=[] imagePaths=[os.path.join(path,f)forfinos.listdir(path)] #检测人脸 #加载特征数据 face_detector=cv2.CascadeClassifier( D:/Python/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml) #参数:scaleFactor(比例因子):图片缩放多少               ,minNeighbors:至少检测多少次        ,minSizemaxSize:当前检测区域的最小面积 #scaleFactor=1.01,minNeighbors=3,maxSize=(33,33),minSize=(28,28) #遍历列表中的图片 forimagePathinimagePaths: #打开当前图片 PIL_img=Image.open(imagePath).convert(L) #将图片转化为数组 img_numpy=np.array(PIL_img,uint8) faces=face_detector.detectMultiScale(img_numpy) #获取每张图片的id id=int(os.path.split(imagePath)[1].split(.)[0]) #获取人脸区域 forx,y,w,hinfaces: #进行切片处理,获取图像数组和id facesSamples.append(img_numpy[y:y+h,x:x+w]) ids.append(id) returnfacesSamples,ids if__name__==__main__: #图片路径 path=./data/jm/ #获取图像数组和id标签数组 faces,ids=getImageAndLabels(path) #获取循环对象 recognizer=cv2.face.LBPHFaceRecognizer_create() recognizer.train(faces,np.array(ids)) #保存文件 recognizer.write(trainer/trainer.yml)

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
phpcms手册(phpcms如何设置不同水印)