openpose pytorch 测试

时间:2021-04-07 10:55:01   收藏:0   阅读:0

openpose pytorch 测试

import cv2
import matplotlib.pyplot as plt
import copy
import numpy as np
import torch

from src import model
from src import util
from src.body import Body
from src.hand import Hand

body_estimation = Body(model/body_pose_model.pth)
hand_estimation = Hand(model/hand_pose_model.pth)

print(f"Torch device: {torch.cuda.get_device_name()}")

cap = cv2.VideoCapture(2)
cap.set(3, 640)
cap.set(4, 480)
while True:
    ret, oriImg = cap.read()
    #oriImg=cv2.resize(oriImg,(320,240))
    
    candidate, subset = body_estimation(oriImg)
    canvas = copy.deepcopy(oriImg)
    canvas = util.draw_bodypose2(canvas, candidate, subset)
    
    ‘‘‘
    # detect hand
    hands_list = util.handDetect(candidate, subset, oriImg)

    all_hand_peaks = []
    for x, y, w, is_left in hands_list:
        peaks = hand_estimation(oriImg[y:y+w, x:x+w, :])
        peaks[:, 0] = np.where(peaks[:, 0]==0, peaks[:, 0], peaks[:, 0]+x)
        peaks[:, 1] = np.where(peaks[:, 1]==0, peaks[:, 1], peaks[:, 1]+y)
        all_hand_peaks.append(peaks)

    canvas = util.draw_handpose(canvas, all_hand_peaks)
    ‘‘‘
    
    cv2.imshow(demo, canvas)#一个窗口用以显示原视频
    if cv2.waitKey(1) & 0xFF == ord(q):
        break

cap.release()
cv2.destroyAllWindows()

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!