rect = cv2.boundingRect(poly_contour_pts)
x_start = rect[0]
y_start = rect[1]
x_end = x_start + rect[2]
y_end = y_start + rect[3]
poly_class = prob_class.argmax(0)
roi_class = poly_class[x_start:x_end, y_start:y_end]
roi_class = roi_class.flatten().tolist()
type_ = max(roi_class,key=roi_class.count) + 1
bboxes = np.array([x_start, y_start, x_end, y_end], dtype=np.float32) #指定类型
# print(type(poly))
# # poly = poly.astype(np.float32) #指定类型
# print('&&&&&&& poly ', poly)
data_sample.pred_instances.bboxes.append(bboxes)
data_sample.pred_instances.polygons.append(poly)
data_sample.pred_instances.scores.append(score)
data_sample.pred_instances.labels.append(np.int64(type_))
data_sample.pred_instances.scores = torch.FloatTensor(
data_sample.pred_instances.scores)
data_sample.pred_instances.labels = torch.FloatTensor(
data_sample.pred_instances.labels)
data_sample.pred_instances.bboxes = torch.FloatTensor(
data_sample.pred_instances.bboxes) #转tensor
#与设备绑定
cuda0 = torch.device('cuda:0')
pred_labels = pred_labels.to(cuda0)
if pred_bboxes is not None:
pred_bboxes = pred_bboxes.to(cuda0)
np 中的类型转换,np转tensor, tensor与设备绑定
最新推荐文章于 2024-07-08 18:55:21 发布