我有估計姿勢的代碼。我正在嘗試實時運行,但 OpenCV 沒有顯示視頻。如何解決這個錯誤?我找不到任何問題。當我使用它時cv2.imshow("Video", dst)也不起作用。我的相機工作正常。我用小的 python 代碼試了一下。然后 imshow 也起作用了。當我嘗試使用此代碼時,它不起作用。我的相機是 USB 類型的,我在 Ubuntu 平臺上工作。此代碼運行時沒有任何錯誤,唯一的問題是 imshow 窗口未顯示。代碼:import jsonimport trt_pose.cocoimport trt_pose.modelsimport torchimport torch2trtfrom torch2trt import TRTModuleimport time, sysimport cv2import torchvision.transforms as transformsimport PIL.Imagefrom trt_pose.draw_objects import DrawObjectsfrom trt_pose.parse_objects import ParseObjectsimport argparseimport os.path'''hnum: 0 based human indexkpoint : 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 kpointparser = 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
添加回答
舉報
0/150
提交
取消