Python 在detectron2中,如何在对象检测中仅在没有标签(类名)的图像上绘制边界?

Python 在detectron2中,如何在对象检测中仅在没有标签(类名)的图像上绘制边界?,python,computer-vision,object-detection,detectron,Python,Computer Vision,Object Detection,Detectron,我正在学习detectron2并使用口袋妖怪数据进行练习。 因此,我遵循detectron2教程(这里:) 此外,还开发了一个检测器,可以检测到下面的图像 但是,在这张图中,红色圆圈是类名。我只想绘制边界框(绿色),红色圆圈(类名)除外。 下面是我的可视化代码。应该修改什么代码? 多谢各位 import glob for imageName in sorted(glob.glob(os.path.join(test_path, '*.jpg'))): im = cv2.imread(ima

我正在学习detectron2并使用口袋妖怪数据进行练习。 因此,我遵循detectron2教程(这里:)

此外,还开发了一个检测器,可以检测到下面的图像

但是,在这张图中,红色圆圈是类名。我只想绘制边界框(绿色),红色圆圈(类名)除外。 下面是我的可视化代码。应该修改什么代码? 多谢各位

import glob
for imageName in sorted(glob.glob(os.path.join(test_path, '*.jpg'))):
  im = cv2.imread(imageName)
  outputs = predictor(im)
  v = Visualizer(im[:, :, ::-1],
                metadata=train_metadata,
                scale=0.8
                 )
  out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
  boxes = v._convert_boxes(outputs["instances"].pred_boxes.to('cpu'))
  for box in boxes:
    box = (round(box[0]), round(box[1]), round(box[2]) - round(box[0]), round(box[3] - box[1]))
    out = v.draw_text(f"{box[2:4]}", (box[0], box[1]))
  cv2_imshow(out.get_image()[:, :, ::-1])
该类包含所有包含的方法。您希望将所有框绘制到
可视化工具
对象,并最终返回一个
VisImage

v = Visualizer(
        im[:, :, ::-1], 
        metadata=train_metadata, 
        scale=0.8,
        )
for box in outputs["instances"].pred_boxes.to('cpu'):
    v.draw_box(box)
    v.draw_text(str(box[:2].numpy()), tuple(box[:2].numpy()))
v = v.get_output()
img =  v.get_image()[:, :, ::-1]
cv2_imshow(img)

有一个函数可以绘制二值遮罩,但没有函数可以在彩色图像上绘制遮罩。如何在原始输入的彩色图像上绘制遮罩

output = predictor(input_image)        
V = Visualizer(input_image[:, :, ::-1], 
MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale = 1.2)
mask=output["instances"].get("pred_masks")
mask=mask.to("cpu")
V.draw_instance_predictions(output["instances"].to("cpu"))
for m in mask:
    V.draw_mask(m)

V = V.get_output()
cv2.imwrite("frame%d.jpg" % count, V.get_image()[:, :, ::-1]) 

谢谢你

谢谢你的评论。但是您的代码只显示边界框。我想用边界框绘制如上所示的边界框坐标。你能帮我更多吗?当然,我更新了我的答案,你可以画任何你想要的。。。