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
# Haarartiger Merkmalsklassifikator
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():
# Laden Sie base64 in Graustufen
image_pil = readb64(sys.argv[1].replace("\\", "\\\\")).convert('L')
Im # NumPy-Array gespeichert
image = np.array(image_pil, 'uint8')
# Haar-ähnlicher Feature-Klassifikator erkennt Gesicht (Parameter sind angemessen)
faces = faceCascade.detectMultiScale(image,1.1,9,0)
scipy.misc.imsave('outfile.jpg', image)
# Zeigen Sie die Koordinaten des erkannten Gesichtsbildes an
for (x, y, w, h) in faces:
print x,y,w,h
detect()
Recommended Posts