• 大小: 8.76MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-14
  • 语言: Python
  • 标签: 人脸识别  

资源简介

opencv3+python人脸检测和识别 完整项目 识别视频《欢乐颂》中人物

资源截图

代码片段和文件信息

import os
import sys
import cv2
import numpy as np

def normalize(X low high dtype=None):
    “““Normalizes a given array in X to a value between low and high.“““
    X = np.asarray(X)
    minX maxX = np.min(X) np.max(X)
    # normalize to [0...1].
    X = X - float(minX)
    X = X / float((maxX - minX))
    # scale to [low...high].
    X = X * (high-low)
    X = X + low
    if dtype is None:
        return np.asarray(X)
    return np.asarray(X dtype=dtype)


def read_images(path sz=None):
    “““Reads the images in a given folder resizes images on the fly if size is given.

    Args:
        path: Path to a folder with subfolders representing the subjects (persons).
        sz: A tuple with the size Resizes

    Returns:
        A list [Xy]

            X: The images which is a Python list of numpy arrays.
            y: The corresponding labels (the unique number of the subject person) in a Python list.
    “““
    c = 0
    Xy = [] []
    for dirname dirnames filenames in os.walk(path):
        for subdirname in dirnames:
            subject_path = os.path.join(dirname subdirname)
            for filename in os.listdir(subject_path):
                try:
                    if (filename == “.directory“):
                        continue
                    filepath = os.path.join(subject_path filename)
                    im = cv2.imread(os.path.join(subject_path filename) cv2.IMREAD_GRAYSCALE)
                    if (im is None):
                        print (“image “ + filepath + “ is none“)
                    else:
                        print (filepath)
                    # resize to given size (if given)
                    if (sz is not None):
                        im = cv2.resize(im (200 200))

                    X.append(np.asarray(im dtype=np.uint8))
                    y.append(c)
                # except IOError (errno strerror):
                #     print (“I/O error({0}): {1}“.format(errno strerror))
                except:
                    print (“Unexpected error:“ sys.exc_info()[0])
                    raise
            print (c)
            c = c+1
            
    # print (X) #2017-6-11 add
    print (y)
    return [Xy]

def face_rec():

    names = [‘fanshengmei‘]
    if len(sys.argv) < 2:
        print (“USAGE: facerec_demo.py  []“)
        sys.exit()

    [Xy] = read_images(sys.argv[1])
    y = np.asarray(y dtype=np.int32)
    
    if len(sys.argv) == 3:
        out_dir = sys.argv[2]
    
    model = cv2.face.createEigenFaceRecognizer()
    model.train(np.asarray(X) np.asarray(y))
    camera = cv2.VideoCapture(“2.mp4“)

    face_cascade = cv2.CascadeClassifier(‘./cascades/haarcascade_frontalface_alt2.xml‘)
    while (True):
      read img = camera.read()
      # faces = face_cascade.detectMultiScale(img 1.3 5)
      faces = face_cascade.detectMultiScale(img 1.4 5)
      for (x y w h) in faces:
        img = cv2.rectangle(img(xy)(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    6959124  2017-06-12 00:32  facefs\2.mp4

     文件     341406  2016-11-14 23:49  facefs\cascades\haarcascade_eye.xml

     文件     601661  2016-11-14 23:49  facefs\cascades\haarcascade_eye_tree_eyeglasses.xml

     文件     676709  2016-11-14 23:49  facefs\cascades\haarcascade_frontalface_alt.xml

     文件     540616  2016-11-14 23:49  facefs\cascades\haarcascade_frontalface_alt2.xml

     文件    2689040  2016-11-14 23:49  facefs\cascades\haarcascade_frontalface_alt_tree.xml

     文件     930127  2016-11-14 23:49  facefs\cascades\haarcascade_frontalface_default.xml

     文件     476825  2016-11-14 23:49  facefs\cascades\haarcascade_fullbody.xml

     文件     195369  2016-11-14 23:49  facefs\cascades\haarcascade_lefteye_2splits.xml

     文件      47775  2016-11-14 23:49  facefs\cascades\haarcascade_licence_plate_rus_16stages.xml

     文件     395320  2016-11-14 23:49  facefs\cascades\haarcascade_lowerbody.xml

     文件     828514  2016-11-14 23:49  facefs\cascades\haarcascade_profileface.xml

     文件     196170  2016-11-14 23:49  facefs\cascades\haarcascade_righteye_2splits.xml

     文件      75482  2016-11-14 23:49  facefs\cascades\haarcascade_russian_plate_number.xml

     文件     188650  2016-11-14 23:49  facefs\cascades\haarcascade_smile.xml

     文件     785817  2016-11-14 23:49  facefs\cascades\haarcascade_upperbody.xml

     文件        590  2017-06-11 18:14  facefs\data\at\faceshls.csv

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\0.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\1.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\10.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\11.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\12.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\13.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\15.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\16.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\17.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\18.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\19.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\2.pgm

     文件      40015  2017-06-11 18:09  facefs\data\at\fs\20.pgm

............此处省略47个文件信息

评论

共有 条评论