English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

استكشاف التحقق من هوية الوجه باستخدام Python

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

1.利用opencv库

sudo apt-get install libopencv-*
sudo apt-get install python-opencv
sudo apt-get install python-numpy

2 .Python实现

import os
import os
from PIL import Image,ImageDraw
import cv
def detect_object(image):
  grayscale = cv.CreateImage((image.width,image.height),8,1)#创建空的灰度值图片
  cv.CvtColor(image,grayscale,cv.CV_BGR2GRAY)
  cascade=cv.Load("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt_tree.xml")#记载特征值库,此目录下还有好多库可以选用
  rect=cv.HaarDetectObjects(grayscale,cascade,cv.CreateMemStorage(),1.1,2,cv.CV_HAAR_DO_CANNY_PRUNING,(20,20))
  result=[]#标记位置
  for r in rect:
    result.append((r[0][0],r[0][1],r[0][0]+r[0][2],r[0][1]+r[0][3]))
  return result
def process(infile):
  image = cv.LoadImage(infile)
  if image:
    faces = detect_object(image)
  im = Image.open(infile)
  path = os.path.abspath(infile)
  save_path = os.path.splitext(path)[0]+"_face"
  try:
    os.mkdir(save_path)
  except:
    pass
  if faces:
    draw = ImageDraw.Draw(im)
    count=0
    for f in faces:
       count+=1
       draw.rectangle(f,outline=(255,0,0))
       a=im.crop(f)
       file_name=os.path.join(save_path,str(count)+".jpg")
       a.save(file_name)
    drow_save_path = os.path.join(save_path,"out.jpg")
    im.save(drow_save_path,"JPEG",quality=80)
  else:
    print "Error: cannot detect faces on %s" % infile
if __name__ == "__main__":
   process("test3.jpg")

3. مقارنة الأثر

4. مراجع

استخدام OpenCV في Python لتحديد الوجه

مبدأ وتطبيق التحقق من هوية الوجه باستخدام Python وOpenCV مع شرح مفصل

استخدام OpenCV2 في Python لتحديد الوجه

هذا هو نهاية محتويات هذا المقال، نأمل أن تكون قد ساعدت في تعلمكم، ونرجو منكم الدعم والمزيد من التشجيع لتدريب呐喊.

بيان: محتويات هذا المقال مستمدة من الإنترنت، مملوكة للمساهمين، مقدم من المستخدمين عبر الإنترنت بتحميلهم، ويتمتع هذا الموقع بلا حقوق ملكية، لم يتم تعديل المحتوى بشكل إنساني، ولا يتحمل الموقع أي مسؤولية قانونية. إذا كنت قد وجدت محتوى يشتبه في حقوق النسخ، فنرجو منك إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # ب @) للإبلاغ، وتقديم الدليل، إذا تم التحقق من ذلك، فإن هذا الموقع سيزيل المحتوى المزعوم فوراً.

مفضل لك