示例#1
0
    def __init__(self,
                 number_people_max=-1,
                 min_size=-1,
                 openpose_rendering=False,
                 face_detection=False,
                 frt=0.4,
                 hand_detection=False,
                 debug=False):
        """
        openpose_rendering : if True, rendering is made by original Openpose library. Otherwise rendering is to the
        responsability of the user (~0.2 fps faster)
        """
        self.openpose_rendering = openpose_rendering
        self.min_size = min_size
        self.debug = debug
        self.face_detection = face_detection
        self.hand_detection = hand_detection
        self.frt = frt

        params = dict()
        params["model_folder"] = MODEL_FOLDER
        params["model_pose"] = "BODY_25"
        params["number_people_max"] = number_people_max
        if not self.openpose_rendering:
            params["render_pose"] = 0
        if self.face_detection:
            params["face"] = True
            params["face_render_threshold"] = self.frt
            # if self.hand_detection:
            params["hand"] = True
        # Starting OpenPose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()
        self.datum = op.Datum()
def start_openpose():
    try:
        # Import Openpose (Windows/Ubuntu/OSX)
        dir_path = os.path.dirname(os.path.realpath(__file__))
        try:
            # Windows Import
            if platform == "win32":
                # Change these variables to point to the correct folder (Release/x64 etc.)
                sys.path.append(dir_path + '/../../python/openpose/Release')
                os.environ['PATH'] = os.environ[
                                         'PATH'] + ';' + dir_path + '/../../x64/Release;' + dir_path + '/../../bin;'
                import pyopenpose as op
            else:
                # Change these variables to point to the correct folder (Release/x64 etc.)
                sys.path.append('/home/natalia/openpose/build/python');
                from openpose import pyopenpose as op
        except ImportError as e:
            print(
                'Error: OpenPose library could not be found. Did you enable `BUILD_PYTHON` in CMake and have this Python script in the right folder?')
            raise e

        # Custom Params (refer to include/openpose/flags.hpp for more parameters)
        params = dict()
        params["model_folder"] = "/home/natalia/openpose/models"
        # params["write_json"] = json_dir
        params["hand"] = True

        # Starting OpenPose
        opWrapper = op.WrapperPython()
        opWrapper.configure(params)
        opWrapper.start()
        return op, opWrapper
    except Exception as e:
        print(e)
        sys.exit(-1)
示例#3
0
    def set_env(self):

        dir_path = r"/mnt/openpose/openpose/build"
        try:
            # Windows Import
            if platform == "win32":
                # Change these variables to point to the correct folder (Release/x64 etc.)
                sys.path.append(
                    r"E:\GitHub\openpose\build\python\openpose\Release")
                os.environ['PATH'] = os.environ[
                    'PATH'] + ';' + "E:\\GitHub\\openpose\\build\\x64\\Release;" + 'E:\\GitHub\\openpose\\build\\bin;'
                import pyopenpose as op
            else:
                # Change these variables to point to the correct folder (Release/x64 etc.)
                #sys.path.append('D:\\Anaconda\\python');
                # If you run `make install` (default path is `/usr/local/python` for Ubuntu), you can also access the OpenPose/python module from there. This will install OpenPose and the python library at your desired installation path. Ensure that this is in your python path in order to use it.
                sys.path.append('/usr/local/python')
                from openpose import pyopenpose as op
        except ImportError as e:
            print(
                'Error: OpenPose library could not be found. Did you enable `BUILD_PYTHON` in CMake and have this Python script in the right folder?'
            )
            raise e

        params = dict()
        params["model_folder"] = "/mnt/openpose/openpose/models"
        params['disable_blending'] = False

        # Starting OpenPose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()

        self.datum = op.Datum()
示例#4
0
    def exec(self):
        """Process the input video using the OpenPose library."""
        # We moved import statement here to use preprocessed data without existing OpenPose.
        try:
            # Windows Import
            if platform == "win32":
                # Change these variables to point to the correct folder (Release/x64 etc.)
                sys.path.append(dir_path + '/../../python/openpose/Release')
                os.environ['PATH'] = os.environ[
                                         'PATH'] + ';' + dir_path + '/../../x64/Release;' + dir_path + '/../../bin;'
                import pyopenpose as op
            else:
                # Change these variables to point to the correct folder (Release/x64 etc.)
                sys.path.append('../../python')
                # If you run `make install` (default path is `/usr/local/python` for Ubuntu), you can also access
                # the OpenPose/python module from there. This will install OpenPose and the python library at your
                # desired installation path. Ensure that this is in your python path in order to use it.
                # sys.path.append('/usr/local/python')
                from openpose import pyopenpose as op
        except ImportError as e:
            print(
                'Error: OpenPose library could not be found. Did you enable `BUILD_PYTHON`'
                ' in CMake and have this Python script in the right folder?')
            raise e

        params = dict()
        params["model_folder"] = "models/"
        params['number_people_max'] = 1
        params['render_pose'] = 0

        op_wrapper = op.WrapperPython()
        op_wrapper.configure(params)
        op_wrapper.start()

        self.video_processor.process_video_with_net(op_wrapper)
示例#5
0
def get_keypoints(filename):
    params = dict()
    params["model_folder"] = "/home/ubuntu/openpose/models"
    # Starting OpenPose
    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()
    datum = op.Datum()
    imageToProcess = cv2.imread(filename)
    datum.cvInputData = imageToProcess
    opWrapper.emplaceAndPop([datum])
    keypoints = datum.poseKeypoints[0]
    filename_annotated = filename + "_annotated.jpg"
    cv2.imwrite(filename_annotated, datum.cvOutputData)
    xi = keypoints[:, 0]
    yi = keypoints[:, 1]
    opWrapper.stop()
    #xi, yi, c = np.loadtxt(filename).T
    x_test = (np.hstack((xi, yi)) / max(np.hstack((xi, yi))))
    x_new_test = np.zeros(x_test.shape[0] + 1)
    x_new_test[:-1] = x_test
    x_new_test[-1] = (x_test[14] - x_test[11]) / (x_test[5] - x_test[2])
    x_new_test[np.isinf(x_new_test)] = 0.0
    #return x_new_test,filename_annotated
    return x_test, filename_annotated
def main():
    try:
        # Starting OpenPose
        opWrapper = op.WrapperPython()
        opWrapper.configure(params)
        opWrapper.start()

        # Read frames on directory
        imagePaths = op.get_images_on_directory(args[0].image_dir)
        start = time.time()

        # Process and display images
        for imagePath in imagePaths:
            datum = op.Datum()
            imageToProcess = cv2.imread(imagePath)
            datum.cvInputData = imageToProcess
            opWrapper.emplaceAndPop([datum])

            print("Body keypoints: \n" + str(datum.poseKeypoints))

            #cv2.imshow("OpenPose 1.4.0 - Tutorial Python API", datum.cvOutputData)
            cv2.imwrite("/home/lburget/Pictures/Webcam/test.jpg",
                        datum.cvOutputData)

        end = time.time()
        print("OpenPose demo successfully finished. Total time: " +
              str(end - start) + " seconds")
    except Exception as e:
        print(e)
示例#7
0
    def __init__(self, thresh=0.1, visualize=False):

        params = dict()
        params['model_pose'] = 'MPI'
        params['model_folder'] = "/home/user/kji/openpose_model/"

        self.openpose = op.WrapperPython()
        self.openpose.configure(params)
        self.openpose.start()
        self.thresh = thresh
        self.visualize = visualize

        # MPI model
        self.body_dict = {
            "Head": 0,
            "Neck": 1,
            "RShoulder": 2,
            "RElbow": 3,
            "RWrist": 4,
            "LShoulder": 5,
            "LElbow": 6,
            "LWrist": 7,
            "RHip": 8,
            "RKnee": 9,
            "RAnkle": 10,
            "LHip": 11,
            "LKnee": 12,
            "LAnkle": 13,
            "Chest": 14,
            "Background": 15
        }

        return
示例#8
0
    def get_sample_heatmaps():
        # These parameters are globally set. You need to unset variables set here if you have a new OpenPose object. See *
        params = dict()
        params["model_folder"] = "../../../models/"
        params["heatmaps_add_parts"] = True
        params["heatmaps_add_bkg"] = True
        params["heatmaps_add_PAFs"] = True
        params["heatmaps_scale"] = 3
        params["upsampling_ratio"] = 1
        params["body"] = 1

        # Starting OpenPose
        opWrapper = op.WrapperPython()
        opWrapper.configure(params)
        opWrapper.start()

        # Process Image and get heatmap
        datum = op.Datum()
        imageToProcess = cv2.imread(args[0].image_path)
        datum.cvInputData = imageToProcess
        opWrapper.emplaceAndPop([datum])
        poseHeatMaps = datum.poseHeatMaps.copy()
        opWrapper.stop()

        return poseHeatMaps
示例#9
0
def pose_detection():
    dir_path = os.path.dirname(os.path.realpath(__file__))
    sys.path.append(dir_path + '/python/openpose/Release')
    os.environ['PATH'] = os.environ[
        'PATH'] + ';' + dir_path + '/x64/Release;' + dir_path + '/bin;'
    import pyopenpose as op

    params = dict()
    params["model_folder"] = "./models/"

    img_path = './media/COCO_val2014_000000000474.jpg'

    try:
        opWrapper = op.WrapperPython()
        opWrapper.configure(params)
        opWrapper.start()

        datum = op.Datum()

        imageToProcess = cv2.imread(img_path)

        datum.cvInputData = imageToProcess

        opWrapper.emplaceAndPop([datum])

        points = datum.poseKeypoints

        #cv2.imshow("Pose", datum.cvOutputData)
        #cv2.waitKey(0)

    except Exception as e:
        sys.exit(-1)

    return points
示例#10
0
 def __init__(self):
     params = dict()
     params[
         "model_folder"] = "/home/mghuang/gastronomy_web_cam_analysis/openpose/models/"
     self.opWrapper = op.WrapperPython()
     self.opWrapper.configure(params)
     self.opWrapper.start()
示例#11
0
def main(session):
    # Nao
    motion_service = session.service("ALMotion")
    posture_service = session.service("ALRobotPosture")
    motion_service.wakeUp()
    # posture_service.goToPosture("StandInit", 0.5)

    params = dict()
    params[
        "model_folder"] = "/home/anton/Documents/hci-project/openpose/models"
    # params["model_pose"] = "COCO"
    params["net_resolution"] = "160x80"
    params["body"] = 1
    params["display"] = 1

    # Starting OpenPose
    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()

    # Process Videao
    datum = op.Datum()
    cam = cv2.VideoCapture(0)  # modify here for camera number
    while (cv2.waitKey(1) != 27):
        # Get camera frame
        ret, frame = cam.read()
        datum.cvInputData = frame
        opWrapper.emplaceAndPop([datum])
        frame = datum.cvOutputData
        cv2.imshow("Webcam", frame)  # datum.cvOutputData)
        leftRight, theta, phi = [], [], []
        userArmArticular(motion_service)
    # Always clean up
    cam.release()
    cv2.destroyAllWindows()
示例#12
0
    def __init__(self):
        self.model = load_model(
            '/home/cornell.edu/nst45/hanabi_project/Hanabi/vision/gesture/gesture_data/pointing.h5'
        )

        self.params = dict()
        self.params[
            "model_folder"] = "/home/cornell.edu/nst45/hanabi_project/openpose/models/"
        self.params["hand"] = True

        # Starting OpenPose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(self.params)
        self.opWrapper.start()
        self.datum = op.Datum()

        self.cap = cv2.VideoCapture(0)

        self.timing = False
        self.noposeTiming = False
        self.nopose = False
        self.noposeStart = time.time()
        self.curpose = -1
        self.start_time = time.time()

        self.indices = []
def create_openpose_instance(model_dir):
    """
    creating openpose instance
    """

    print("creating instance")
    try:
        params = dict()
        params["logging_level"] = 3
        params["output_resolution"] = "-1x-1"
        params["net_resolution"] = "-1x368"
        params["model_pose"] = "BODY_25"
        params["alpha_pose"] = 0.6
        params["scale_gap"] = 0.3
        params["scale_number"] = 1
        params["render_threshold"] = 0.05
        # If GPU version is built, and multiple GPUs are available, set the ID here
        params["num_gpu_start"] = 0
        params["disable_blending"] = False
        # Ensure you point to the correct path where models are located
        params["model_folder"] = model_dir

        # Construct OpenPose object allocates GPU memory
        openpose = op.WrapperPython()
        openpose.configure(params)
        openpose.start()

        return openpose
    except Exception as err:
        print(err)
        print(type(err))
        raise err
示例#14
0
    def __init__(self, debug=False):
        #from openpose import *
        params = dict()
        params["model_folder"] = Constants.openpose_modelfolder
        params["net_resolution"] = "-1x320"
        self.openpose = op.WrapperPython()
        self.openpose.configure(params)
        self.openpose.start()

        max_cosine_distance = Constants.max_cosine_distance
        nn_budget = Constants.nn_budget
        self.nms_max_overlap = Constants.nms_max_overlap
        max_age = Constants.max_age
        n_init = Constants.n_init

        model_filename = 'model_data/mars-small128.pb'
        self.encoder = gdet.create_box_encoder(model_filename, batch_size=1)
        metric = nn_matching.NearestNeighborDistanceMetric(
            "cosine", max_cosine_distance, nn_budget)
        self.tracker = DeepTracker(metric, max_age=max_age, n_init=n_init)

        #         self.capture = cv2.VideoCapture('D:/walk_tour-edit.mp4')
        self.capture = cv2.VideoCapture('D:/walk_tour.mp4')
        if self.capture.isOpened():  # Checks the stream
            self.frameSize = (int(self.capture.get(cv2.CAP_PROP_FRAME_HEIGHT)),
                              int(self.capture.get(cv2.CAP_PROP_FRAME_WIDTH)))

        Constants.SCREEN_HEIGHT = self.frameSize[0]
        Constants.SCREEN_WIDTH = self.frameSize[1]

        self.cnt = 1
示例#15
0
    def __init__(self, event, progress, gui):
        threading.Thread.__init__(self)
        self.stopped = event
        self.progress = progress
        self.data = (gui.open_data, gui.closed_data)
        self.length = len(self.data[0]) + len(self.data[1])

        fourcc = cv2.VideoWriter_fourcc(*'mp4v')
        if platform == 'win32':
            self.writer_open = cv2.VideoWriter(
                'output/processed_output_open_eyes.mp4', fourcc, 30,
                (gui.vid_width, gui.vid_height))
            self.writer_closed = cv2.VideoWriter(
                'output/processed_output_closed_eyes.mp4', fourcc, 30,
                (gui.vid_width, gui.vid_height))

            # OpenPose setup
            params = dict()
            params['model_folder'] = 'openpose/models/'
            self.opWrapper = op.WrapperPython()
            self.opWrapper.configure(params)
            self.opWrapper.start()
            self.datum = op.Datum()
        else:
            self.writer_open = cv2.VideoWriter('output/output_open_eyes.mp4',
                                               fourcc, 30,
                                               (gui.vid_width, gui.vid_height))
            self.writer_closed = cv2.VideoWriter(
                'output/output_closed_eyes.mp4', fourcc, 30,
                (gui.vid_width, gui.vid_height))
示例#16
0
    def __init__(self):
        parser = argparse.ArgumentParser()
        #parser.add_argument("--image_path", default="./media/COCO_val2014_000000000192.jpg", help="Process an image. Read all standard formats (jpg, png, bmp, etc.).")
        args = parser.parse_known_args()

        params = dict()
        params["model_folder"] = './../models/'  # 具体情况
        params["number_people_max"] = 1
        params["model_pose"] = "BODY_25"

        # Add others in path?
        for i in range(0, len(args[1])):
            curr_item = args[1][i]
            if i != len(args[1]) - 1:
                next_item = args[1][i + 1]
            else:
                next_item = "1"
            if "--" in curr_item and "--" in next_item:
                key = curr_item.replace('-', '')

                if key not in params:
                    params[key] = "1"
            elif "--" in curr_item and "--" not in next_item:
                key = curr_item.replace('-', '')
                if key not in params:
                    params[key] = next_item

        # 初始化openpose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()
        self.datum = op.Datum()
示例#17
0
def openpose_init():
    try:
        if platform == "win32":
            sys.path.append('./OpenPose/Release')
            import pyopenpose as op
        else:
            sys.path.append('./OpenPose')
            from Release import pyopenpose as op
    except ImportError as e:
        print(
            'Error: OpenPose library could not be found. Did you enable `BUILD_PYTHON` in CMake and have this Python script in the right folder?'
        )
        raise e

    # Custom Params (refer to include/openpose/flags.hpp for more parameters)
    params = dict()
    params["model_folder"] = "./OpenPose/models"

    # Starting OpenPose
    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()

    # Process Image
    datum = op.Datum()
    return datum, opWrapper
示例#18
0
    def __init__(self):
        self.onoff = False
        self.channel = [1,2,4,5,6,7,8,9]
        self.now = 0
        self.vol = 10
        self.volcon = 0
        self.range = 0

        self.params = dict()
        self.params["model_folder"] = "../../../models/"
        self.params["hand"] = True

        # Starting OpenPose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(self.params)
        self.opWrapper.start()

        self.cap = cv2.VideoCapture(0) #0だったり1だったり
        self.cap.set(3,1920)
        self.cap.set(4,1080)

        self.before_form = []
        self.current_form = []
        self.counter = 0
        pyxel.init(60, 45)
        pyxel.run(self.update,self.draw)
示例#19
0
def openPose(img, gamma=1.0, ui=False):
    params = dict()
    model_folder = ('' if ui else '../') + 'models'
    params["model_folder"] = model_folder
    params["number_people_max"] = 1

    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()

    datum = op.Datum()

    # hyunho gamma
    if gamma != 1.0:
        img2 = adjust_gamma(img, gamma=gamma)
        datum.cvInputData = img2
    else:
        datum.cvInputData = img

    opWrapper.emplaceAndPop([datum])

    mydata = datum.poseKeypoints[0]
    joints = np.zeros((14, 2))
    conf = np.zeros(14)

    joints[0] = mydata[11, :2]
    joints[1] = mydata[10, :2]
    joints[2] = mydata[9, :2]
    joints[3] = mydata[12, :2]
    joints[4] = mydata[13, :2]
    joints[5] = mydata[14, :2]
    joints[6] = mydata[4, :2]
    joints[7] = mydata[3, :2]
    joints[8] = mydata[2, :2]
    joints[9] = mydata[5, :2]
    joints[10] = mydata[6, :2]
    joints[11] = mydata[7, :2]
    joints[12] = mydata[1, :2]
    joints[13] = mydata[0, :2]

    conf[0] = mydata[11, 2]
    conf[1] = mydata[10, 2]
    conf[2] = mydata[9, 2]
    conf[3] = mydata[12, 2]
    conf[4] = mydata[13, 2]
    conf[5] = mydata[14, 2]
    conf[6] = mydata[4, 2]
    conf[7] = mydata[3, 2]
    conf[8] = mydata[2, 2]
    conf[9] = mydata[5, 2]
    conf[10] = mydata[6, 2]
    conf[11] = mydata[7, 2]
    conf[12] = mydata[1, 2]
    conf[13] = mydata[0, 2]

    # head joint estimate
    # joints[13] += 0.5 * (joints[13] - joints[12])

    return joints, conf
示例#20
0
    def __init__(self, net_resolution="320x160"):
        params = dict()
        params["model_folder"] = "openpose/models/"
        params["net_resolution"] = net_resolution

        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()
示例#21
0
    def __init__(self, model_folder="/openpose/models/", **kwargs):
        print("initializing poser")
        params = dict()
        params["model_folder"] = model_folder
        params.update(kwargs)

        self._opWrapper = op.WrapperPython()
        self._opWrapper.configure(params)
        self._opWrapper.start()
示例#22
0
    def __init__(self):
        params = dict()
        params["model_folder"] = "models/"
        params["hand"] = True

        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()
        self.datum = op.Datum()
示例#23
0
    def start(self):
        self.params["face"] = True
        self.params["hand"] = True
        self.add_path()

        pprint.pprint(self.params)
        opWrapper = op.WrapperPython(3)
        opWrapper.configure(self.params)
        opWrapper.execute()
示例#24
0
文件: wrapper.py 项目: mmakos/HPC
 def __initOpenPose(self, opParams):
     # starting OpenPose
     if not opParams:
         opParams = dict()
     opParams["model_folder"] = "../../externals/openpose/models/"
     opParams["render_threshold"] = c.keypointThreshold
     self.opWrapper = op.WrapperPython()
     self.opWrapper.configure(opParams)
     self.opWrapper.start()
    def __init__(self, path: str, webcam_mode: bool = False):

        parser = argparse.ArgumentParser()
        parser.add_argument("--no_display", default=False)
        parser.add_argument("--model_pose",
                            action='store',
                            type=str,
                            default="BODY_25")
        parser.add_argument("--tracking", action='store', type=int, default=1)
        parser.add_argument("--number_people_max",
                            action='store',
                            type=int,
                            default=1)

        params = dict()
        params["model_folder"] = "models/"
        params["net_resolution"] = "320x176"
        params["face_net_resolution"] = "320x320"
        params["render_pose"] = "1"
        params["model_pose"] = "BODY_25"
        params["tracking"] = "5"
        params["number_people_max"] = "1"

        args = parser.parse_known_args()
        #parse command line argument
        # Add others in path?
        for i in range(0, len(args[1])):
            curr_item = args[1][i]
            if i != len(args[1]) - 1: next_item = args[1][i + 1]
            else: next_item = "1"
            if "--" in curr_item and "--" in next_item:
                key = curr_item.replace('-', '')
                params[key] = "1"
            elif "--" in curr_item and "--" not in next_item:
                key = curr_item.replace('-', '')
                params[key] = next_item

        #Start OpenPose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()

        #Add image path here
        #Video path
        #path = dir_path + '\\test_data\\test.mkv'
        # Image Path
        media_path = dir_path + path

        if webcam_mode is True:
            self.cap = cv2.VideoCapture(0)
        else:
            #Capture from path
            self.cap = cv2.VideoCapture(media_path)

        if (self.cap.isOpened() == False):
            print("Error opening Video: ", path)
示例#26
0
def initOpenPose():
    # starting OpenPose
    params = dict()
    params["model_folder"] = "../../externals/openpose/models/"
    params["render_threshold"] = c.keypointThreshold
    getOpenPoseArgs(params)
    wrapper = op.WrapperPython()
    wrapper.configure(params)
    wrapper.start()
    return wrapper
示例#27
0
def set_params():
    params = dict()
    params['model_folder'] = 'mod_code/openpose/models'
    params['model_pose'] = 'BODY_25'
    params['number_people_max'] = 1
    params["net_resolution"] = '128x192'

    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()
示例#28
0
def set_params(): 
    params = dict()
    params["model_folder"] = "openpose/models/"
    params["face"] = True
    params["hand"] = True
    params["disable_blending"] = False
    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()
    return opWrapper
示例#29
0
def openpose_demo(canvas):
    # Custom Params (refer to include/openpose/flags.hpp for more parameters)
    params = dict()
    params["model_folder"] = "../../../models/"
    params["hand"] = True

    # Starting OpenPose
    opWrapper = op.WrapperPython()
    opWrapper.configure(params)
    opWrapper.start()

    cap = cv2.VideoCapture(0)

    before_form = []
    current_form = []
    counter = 0
    global rootFlag
    while (True):
        ret, frame = cap.read()

        # Process Image
        datum = op.Datum()
        imageToProcess = frame
        datum.cvInputData = imageToProcess

        opWrapper.emplaceAndPop([datum])

        cv2.imshow("OpenPose 1.5.0 - Tutorial Python API", datum.cvOutputData)

        #print(datum.handKeypoints[1][0])

        right_hand, flag = hm.is_hand_recog(datum.handKeypoints[1][0])
        if flag == True:
            current_form = hm.check_handform2(right_hand)
            #print(current_form,counter)
            if current_form == before_form:  #1フレーム前の形と現在の形を比較する
                counter = counter + 1  #同じだったらカウントを1増やす
                if (counter == 10):  #カウントが10になったら(10回連続して同じ形を認識したら)
                    canvas.delete("all")
                    n = hm.list_to_num(current_form)  #手の形から番号を決定
                    try:

                        canvas.create_text(300, 300, text=n, font=('', 350))
                    except Exception as e:
                        break
            else:
                counter = 0  #違ったらカウントをリセットする
            before_form = current_form
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
        if rootFlag == False:
            break
    cap.release()
    cv2.destroyAllWindows()
示例#30
0
    def __init__(self, model_path="./models/"):
        # load models 
        params = dict()
        params["model_folder"] = model_path
        print("[*] success loading model from", model_path)

        # Starting OpenPose
        self.opWrapper = op.WrapperPython()
        self.opWrapper.configure(params)
        self.opWrapper.start()
        print("[*] openpose start!")