人脸识别opencv+python,使用opencv进行人脸识别的三种方法

  人脸识别opencv+python,使用opencv进行人脸识别的三种方法

  人脸检测是OpenCV非常好的一个功能,是人脸识别的基础。人脸识别实际上是一个可以在给定的图像或视频中识别人脸的程序。

  人脸识别模块特征

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

  2.每个识别都有一个置信度得分,在实际应用中可以通过设置阈值来进行筛选。

  人脸识别两种方式

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

  2.网上有很多人脸数据库:为了识别这些样本的人脸,需要识别包含人脸的样本图像上的人脸。这是一个学习的过程,但不如自己提供的图片令人满意。

  python中OpenCV的人脸检测功能操作实例

  进口货

  importcv2

  fromPILimportImage

  importnumpyasnp

  defgetImageAndLabels(路径):

  facesSamples=[]

  ids=[]

  imagePaths=[os.path.join(path,f)forfinos.listdir(path)]

  #检测面孔

  #加载特征数据

  人脸检测器=cv2。级联分类器(

  d :/Python/opencv/sources/data/haarcascades/haarcascade _ frontal face _ default . XML )

  #参数:scaleFactor:图片缩放多少,minNeighbors:至少检测多少次,minSizemaxSize:当前检测到的最小面积。

  #scaleFactor=1.01,minNeighbors=3,maxSize=(33,33),minSize=(28,28)

  #遍历列表中的图片

  forimagePathinimagePaths:

  #打开当前图片

  PIL_img=Image.open(imagePath)。转换(“L”)

  #将图片转换成数组

  img_numpy=np.array(PIL_img, uint8 )

  faces=face _ detector . detect multi scale(img _ numpy)

  #获取每张图片的id

  id=int(OS . path . split(image path)[1]。拆分(.)[0])

  #获取面部区域

  对于x,y,w,hinfaces:

  # slice获取图像数组和id

  faces samples . append(img _ numpy[y :y h,x:x w])

  附加(id)

  returnfacesSamples,id

  if__name__==__main__:

  #图片路径

  路径=。/data/jm/

  #获取图像数组和id标签数组

  faces,ids=getImageAndLabels(path)

  #获取循环对象

  recognizer=cv2 . face . lbphfacecognizer _ create()

  recognizer.train(faces,np.array(ids))

  #保存文件

  recognizer . write( trainer/trainer . yml )

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • opencv图像识别数字,opencv 识别
  • opencv图像识别数字,opencv 识别,如何基于opencv实现简单的数字识别
  • opencv图像的旋转角度计算,opencv图像仿射变换
  • opencv图像的旋转角度计算,opencv图像仿射变换,OpenCV图像几何变换之透视变换
  • opencv图像的旋转角度计算,opencv 旋转任意角度
  • opencv图像的旋转角度计算,opencv 旋转任意角度,opencv图片的任意角度旋转实现示例
  • opencv图像处理函数,opencv图像轮廓合并
  • opencv图像处理函数,opencv图像轮廓合并,OpenCV图像处理之七种常用图像几何变换
  • opencv双线性插值函数,opencv 图像插值
  • LBPH人脸识别,基于opencv的人脸识别技术
  • LBPH人脸识别,基于opencv的人脸识别技术,Opencv LBPH人脸识别算法详解
  • ,,OpenCV黑帽运算(BLACKHAT)的使用
  • opencv双线性插值函数,opencv 图像插值,C++ OpenCV实现图像双三次插值算法详解
  • ,,C语言 OpenCV实现柱面投影
  • ,,C++ Opencv imfill孔洞填充函数的实现思路与代码
  • 留言与评论(共有 条评论)
       
    验证码: