Exemplo n.º 1
0
def baseface(img):
    dets = dlibDetector(img, 1)
    V = dlibPredictor(img, dets[0])
    V = dlibShape2Array(V)[27:48]
    d, Z, transform = procrustes(U, V, scaling=True, reflection=False)
    T = np.array([[0, 0, 0], [0, 0, 0], [transform['translation']
                                         [0], transform['translation'][1], 1]])
    T[0:2, 0:2] = transform['rotation'] * transform['scale']
    T = T[:, 0:2].T
    dst = cv2.warpAffine(img, T, (img.shape[1], img.shape[0]))
    dst = dst[0:240, 0:240, :]
    dst = dst[22:22+197, 22:22+197, :]
    dst = cv2.resize(dst, (112, 112))
    return dst
Exemplo n.º 2
0
def baseface(dets, img):
    fleft = dets.left()
    ftop = dets.top()
    fwidth = dets.width()
    fheight = dets.height()
    d = dlib.rectangle(left=fleft, top=ftop, right=fwidth +
                       fleft, bottom=fheight+ftop)
    V = dlibPredictor(img, d)
    V = dlibShape2Array(V)[27:48]
    d, Z, transform = procrustes(U, V, scaling=True, reflection=False)
    T = np.array([[0, 0, 0], [0, 0, 0], [transform['translation']
                                         [0], transform['translation'][1], 1]])
    T[0:2, 0:2] = transform['rotation'] * transform['scale']
    T = T[:, 0:2].T
    dst = cv2.warpAffine(img, T, (240, 240))
    dst = dst[0:240, 0:240, :]
    dst = dst[22:22 + 197, 22:22 + 197, :]
    dst = cv2.resize(dst, (112, 112), interpolation=cv2.INTER_NEAREST)
    return dst