【问题标题】:In detectron2, how could I put the text on image?在detectron2中,我怎么能把文字放在图像上?
【发布时间】:2020-08-28 09:10:58
【问题描述】:

我正在学习如何很好地使用detectron2。我可以预测边界框。但是,我也想把边界框坐标放在图像上。为此,我使用 cv2.putext 库。但它没有用。 您能否让下面的代码在图像上显示边界框坐标?

from detectron2.utils.visualizer import ColorMode
import glob
for imageName in 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"))
  cv2_imshow(out.get_image()[:, :, ::-1])

【问题讨论】:

    标签: python computer-vision detectron


    【解决方案1】:
    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')).squeeze()
    for box in boxes:
        out = v.draw_text(f"{box}", (box[0], box[1]))
    cv2_imshow(out.get_image()[:, :, ::-1])
    

    对于draw_text 函数,第一个参数是文本,第二个参数是位置。有关更多信息,请查看以下链接。

    https://detectron2.readthedocs.io/modules/utils.html?highlight=draw_text#detectron2.utils.visualizer.Visualizer.draw_text

    【讨论】:

    • 非常好!!但是您的编码器只能一个盒子。是否可以在一张图像中绘制多个边界框。一般来说,一张图片可能有多个与物体对应的bounding box。
    猜你喜欢
    • 2011-06-02
    • 2017-07-16
    • 2015-09-14
    • 2020-07-07
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    相关资源
    最近更新 更多