https://github.com/hirokoma/face_detection_of_base64_string
!/usr/bin/python
-*- coding: utf-8 -*-
import sys
import cv2, os
import numpy as np
from PIL import Image
import base64
from StringIO import StringIO
import scipy.misc
# Classificateur d'entités de type Haar
cascadePath = "/path/to/haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath)
def readb64(base64_string):
sbuf = StringIO()
sbuf.write(base64.b64decode(base64_string))
pimg = Image.open(sbuf)
return pimg
#cv2.cvtColor(np.array(pimg), cv2.COLOR_RGB2BGR)
def detect():
# Charger base64 en échelle de gris
image_pil = readb64(sys.argv[1].replace("\\", "\\\\")).convert('L')
Stocké dans le tableau # NumPy
image = np.array(image_pil, 'uint8')
# Le classificateur d'entités de type Haar détecte le visage (les paramètres sont appropriés)
faces = faceCascade.detectMultiScale(image,1.1,9,0)
scipy.misc.imsave('outfile.jpg', image)
# Afficher les coordonnées de l'image du visage détecté
for (x, y, w, h) in faces:
print x,y,w,h
detect()
Recommended Posts