python3人脸识别的两种方法

yipeiwu_com6年前Python基础

本文实例为大家分享了python3实现人脸识别的具体代码,供大家参考,具体内容如下

第一种:

import cv2
import numpy as np

filename = 'test1.jpg'
path = r'D:\face'


def detect(filename):
  face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
  face_cascade.load(path + '\haarcascade_frontalface_default.xml')

  img = cv2.imread(filename)
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  faces = face_cascade.detectMultiScale(gray, 1.3, 5)
  for (x, y, w, h) in faces:
    img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
  cv2.namedWindow("vikings detected")
  cv2.imshow("vikings detected", img)
  cv2.waitKey(0)


detect(filename)

结果:

第二种 参考贾志刚opencv教程

# -*- coding:utf-8 -*-
import cv2 as cv
import numpy as np

src = cv.imread('test1.jpg')
path = r'D:\face'

def face_detect_demo():
  gray = cv.cvtColor(src,cv.COLOR_BGR2GRAY)

  face_detector = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
  face_detector.load(path + '\haarcascade_frontalface_default.xml')
  faces = face_detector.detectMultiScale(gray,1.3,5)
  for x,y,w,h in faces:
    cv.rectangle(src,(x,y),(x+w,y+h),(0,0,255),2)
  cv.imshow("result",src)

print("--------------python face detect-------------")
cv.namedWindow("input image",0)
cv.namedWindow("result",0)
cv.imshow("input image",src)
face_detect_demo()
cv.waitKey(0)
cv.destroyAllWindows()

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

用十张图详解TensorFlow数据读取机制(附代码)

用十张图详解TensorFlow数据读取机制(附代码)

在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解。确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料。今天这篇文章就以图片的形式,用最简单的语言,为大...

python 计算数组中每个数字出现多少次--“Bucket”桶的思想

python 计算数组中每个数字出现多少次--“Bucket”桶的思想

题目: 解法一:比较元素是否相等 思路说明: 这种应该是普通人最先想到的解法,先获取到数组之后进行有小到大排序,然后初始化一个min=0(代表新数字的开始角标),然后遍历新数组的每一个...

python调用webservice接口的实现

python调用webservice接口的实现

使用suds这个第三方模块 from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client...

在Python中使用MongoEngine操作数据库教程实例

在Python中使用MongoEngine操作数据库教程实例

这篇文章主要介绍了在Python中使用MongoEngine操作数据库教程实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 pymo...

numpy基础教程之np.linalg

numpy基础教程之np.linalg

前言 numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。本文讲给大家介绍关于numpy基础之 np.linalg的相关...