Распаковка активных элементов динамического списка

Рейтинг: 0Ответов: 1Опубликовано: 15.06.2023

В скрипте распознавания объектов с помощью opencv пытаюсь реализовать динамический вывод объектов, выводится либо списком, либо только 1 элемент.

objs = []
for i in indices:
    box = bbox[i]
    x, y, w, h = box[0], box[1], box[2], box[3]
    cv2.rectangle(img, (x, y), (x + w, h + y), color=(0, 255, 0), thickness=2)
    cv2.putText(img, classNames[classIds[i] - 1].upper(), (box[0] + 5, box[1] - 5),
                cv2.FONT_HERSHEY_COMPLEX, 0.8, (0, 255, 0), 2)

    # вывод объектов в кадре
    objs.append(f"{classNames[classIds[i] - 1]} - {round(confs[i] * 100)}%")
    sys.stdout.write("\r{0}".format(objs))
    sys.stdout.flush()
    time.sleep(0)

как вывести каждый активный элемент(как на скриншоте) с новой строки, но без повторения класса? вывод текущих распознаных элементов

Ответы

▲ 0

Вы можете формировать строку, например так:

output = '\n'.join(objs)
sys.stdout.write('\r{0}'.format(output))