Beispiel #1
0
def main(image1_path, image2_path):

    img1, gray1 = readImage(image1_path)
    img2, gray2 = readImage(image2_path)

    # load face model

    conns = facetracker.LoadCon(r'external\FaceTracker\model\face.con')
    trigs = facetracker.LoadTri(r'external\FaceTracker\model\face.tri')
    tracker1 = facetracker.FaceTracker(
        r'external\FaceTracker\model\face.tracker')
    tracker2 = facetracker.FaceTracker(
        r'external\FaceTracker\model\face.tracker')
    tracker1.setWindowSizes((11, 9, 7))
    tracker2.setWindowSizes((11, 9, 7))
    # search feature points

    feature_pair = getFeaturePoints(tracker1, tracker2, gray1, gray2)
    intermediate_feature = interpolatePts(feature_pair)
    frames = combineImages(intermediate_feature, TRIANGLES, image1_path,
                           image2_path)
    frames.extend(frames[::-1])
    while (True):
        for i in range(0, len(frames)):
            f = frames[i]
            cv2.waitKey(20)
            cv2.imshow("Cameras", f)
            cv2.waitKey(20)
Beispiel #2
0
def main(img_path):
    #
    # Load image
    #
    img = Image.open(img_path)
    gray = img.convert('L')
    img = np.asanyarray(img)
    gray = np.asarray(gray)

    #
    # Load face model
    #
    conns = facetracker.LoadCon(r'..\external\FaceTracker\model\face.con')
    trigs = facetracker.LoadTri(r'..\external\FaceTracker\model\face.tri')
    tracker = facetracker.FaceTracker(
        r'..\external\FaceTracker\model\face.tracker')

    #
    # Search for faces in the image
    #
    tracker.setWindowSizes((11, 9, 7))
    if tracker.update(gray):
        img = tracker.draw(img, conns, trigs)

        obj3D = tracker.get3DShape()

        fig3d = plt.figure()
        ax = fig3d.add_subplot(111, projection='3d')
        ax.scatter(obj3D[:66, 0], obj3D[66:132, 0], obj3D[132:, 0])
        for i in range(66):
            ax.text(obj3D[i], obj3D[i + 66], obj3D[i + 132], str(i))
        ax.view_init(-90, -90)

    else:
        print 'Failed tracking face in image'

    plt.figure()
    plt.imshow(img)

    plt.show()
Beispiel #3
0
def tutorial1():

    img = Image.open(os.path.join(IMAGES_BASE, 'MonaLisa.jpg'))
    gray = img.convert('L')
    img = np.asanyarray(img)
    gray = np.asarray(gray)

    #
    # Load face model
    #
    conns = facetracker.LoadCon(r'..\external\FaceTracker\model\face.con')
    trigs = facetracker.LoadTri(r'..\external\FaceTracker\model\face.tri')
    tracker = facetracker.FaceTracker(
        r'..\external\FaceTracker\model\face.tracker')

    #
    # Search for faces in the image
    #
    tracker.setWindowSizes((11, 9, 7))
    if tracker.update(gray):
        img = tracker.draw(img, conns, trigs)

        obj3D = tracker.get3DShape()

        fig3d = plt.figure()
        ax = fig3d.add_subplot(111, projection='3d')
        ax.scatter(obj3D[:66, 0], obj3D[66:132, 0], obj3D[132:, 0])
        for i in range(66):
            ax.text(obj3D[i], obj3D[i + 66], obj3D[i + 132], str(i))
        ax.view_init(-75, -90)
        plt.title('3D Model of Mona Lisa\'s face')
        savefig('3DMonaLisa')
    else:
        print 'Failed tracking face in image'

    plt.figure()
    plt.imshow(img)
    plt.title('Face of the Mona Lisa')
    savefig('MonaLisaFace')
# -*- encoding:utf-8 -*-

import os
import random
import string
import numpy as np
import cv2
import facetracker
from werkzeug.utils import secure_filename
from PIL import Image

conns = facetracker.LoadCon('./static/model/face.con')
trigs = facetracker.LoadTri('./static/model/face.tri')
tracker = facetracker.FaceTracker('./static/model/face.tracker')
cascade_path = "/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"
allow_extends = set(['png', 'jpeg', 'jpg', 'gif'])
digit = 8


def allowed_file(filename):
    return '.' in filename and \
      filename.rsplit('.', 1)[1].lower() in allow_extends


def image_save(img):

    if img and allowed_file(img.filename):

        ImgName = img.filename
        result = "ok"
        img = cv2.imdecode(np.fromstring(img.read(), np.uint8),
Beispiel #5
0
        pass

    cv2.destroyAllWindows()

if __name__ == '__main__':
    import sys, getopt
    print help_message

    args, video_src = getopt.getopt(sys.argv[1:], '', ['face=', 'con=', 'tri='])
    try: video_src = video_src[0]
    except: video_src = 0
    args = dict(args)
    face_fn = args.get('--con', r"../external/FaceTracker/model/face.tracker")
    con_fn = args.get('--con', r"../external/FaceTracker/model/face.con")
    tri_fn  = args.get('--tri', r"../external/FaceTracker/model/face.tri")

    tracker = facetracker.FaceTracker(face_fn)
    conns = facetracker.LoadCon(con_fn)
    trigs = facetracker.LoadTri(tri_fn)

    cam = create_capture(video_src)
    tracker.setWindowSizes((7,))

    shape3D = np.random.randn(3, 66)
    l = mlab.points3d(shape3D[0, :], shape3D[1, :], shape3D[2, :])
    ms = l.mlab_source

    print("Server is running on localhost:8001...")
    server = pywsgi.WSGIServer(('0.0.0.0', 8001), myapp, handler_class=WebSocketHandler)
    server.serve_forever()