Как я могу поместить текст на изображение в detectron2?

Я хорошо учусь использовать 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])

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

Другие вопросы по тегам