我有估计姿势的代码。我正在尝试实时运行,但 OpenCV 没有显示视频。如何解决这个错误?我找不到任何问题。
当我使用它时cv2.imshow("Video", dst)也不起作用。
我的相机工作正常。我用小的 python 代码试了一下。然后 imshow 也起作用了。当我尝试使用此代码时,它不起作用。我的相机是 USB 类型的,我在 Ubuntu 平台上工作。
此代码运行时没有任何错误,唯一的问题是 imshow 窗口未显示。
代码:
import json
import trt_pose.coco
import trt_pose.models
import torch
import torch2trt
from torch2trt import TRTModule
import time, sys
import cv2
import torchvision.transforms as transforms
import PIL.Image
from trt_pose.draw_objects import DrawObjects
from trt_pose.parse_objects import ParseObjects
import argparse
import os.path
'''
hnum: 0 based human index
kpoint : keypoints (float type range : 0.0 ~ 1.0 ==> later multiply by image width, height
'''
def get_keypoint(humans, hnum, peaks):
#check invalid human index
kpoint = []
human = humans[0][hnum]
C = human.shape[0]
for j in range(C):
k = int(human[j])
if k >= 0:
peak = peaks[0][j][k] # peak[1]:width, peak[0]:height
peak = (j, float(peak[0]), float(peak[1]))
kpoint.append(peak)
#print('index:%d : success [%5.3f, %5.3f]'%(j, peak[1], peak[2]) )
else:
peak = (j, None, None)
kpoint.append(peak)
#print('index:%d : None %d'%(j, k) )
return kpoint
parser = argparse.ArgumentParser(description='TensorRT pose estimation run')
parser.add_argument('--model', type=str, default='resnet', help = 'resnet or densenet' )
args = parser.parse_args()
with open('human_pose.json', 'r') as f:
human_pose = json.load(f)
topology = trt_pose.coco.coco_category_to_topology(human_pose)
num_parts = len(human_pose['keypoints'])
num_links = len(human_pose['skeleton'])
if 'resnet' in args.model:
print('------ model = resnet--------')
MODEL_WEIGHTS = 'resnet18_baseline_att_224x224_A_epoch_249.pth'
OPTIMIZED_MODEL = 'resnet18_baseline_att_224x224_A_epoch_249_trt.pth'
model = trt_pose.models.resnet18_baseline_att(num_parts, 2 * num_links).cuda().eval()
WIDTH = 224
HEIGHT = 224
忽然笑
汪汪一只猫
随时随地看视频慕课网APP
相关分类