如何解决在检测器 2 中,我如何获得检测到的对象类名称和边界框 x,y 坐标
在检测器 2 中,我如何获得检测到的对象类名称和边界框 x、y 坐标?
然后像 print(obj_name,x,y) 一样打印
解决方法
您可以在模型推理的输出中提取那些,例如:
predictor = DefaultPredictor(cfg)
outputs = predictor(im)
- outputs[“instances”]:具有以下字段的实例对象:
“pred_boxes”:存储 N 个盒子的 Boxes 对象,每个检测到的实例一个。
“pred_classes”:张量,一个在 [0,num_categories 范围内的 N 个标签的向量)。
参考:https://detectron2.readthedocs.io/en/latest/tutorials/models.html
,此代码打印每个检测到的对象的名称和坐标。
predictor = DefaultPredictor(config)
outputs = predictor(image)
instances = outputs["instances"]
detected_class_indexes = instances.pred_classes
prediction_boxes = instances.pred_boxes
metadata = MetadataCatalog.get(config.DATASETS.TRAIN[0])
class_catalog = metadata.thing_classes
for idx,coordinates in enumerate(prediction_boxes):
class_index = detected_class_indexes[idx]
class_name = class_catalog[class_index]
print(class_name,coordinates)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。