РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
564 of 824 menu

Функция draw_bounding_boxes

Функция draw_bounding_boxes применяется к изображениям для визуализации ограничивающих рамок. Первым параметром передается тензор изображения, вторым - тензор с координатами рамок. Дополнительно можно передать цвета рамок, текстовые метки и толщину линий.

Изображение должно иметь тип uint8 или float32 и форму [height, width, channels] для одного изображения или [batch, height, width, channels] для пакета. Координаты рамок задаются в формате [y_min, x_min, y_max, x_max] и могут быть нормализованы в диапазоне от 0 до 1.

Синтаксис

tf.image.draw_bounding_boxes( images, boxes, colors=None, texts=None, font_size=10, line_thickness=1, rectangle_position='', name=None )

Пример

Давайте создадим изображение и нарисуем на нем одну рамку с координатами от 10 до 50 по обоим осям:

import tensorflow as tf image = tf.zeros([100, 100, 3], dtype=tf.uint8) boxes = tf.constant([[0.1, 0.1, 0.5, 0.5]]) res = tf.image.draw_bounding_boxes( tf.expand_dims(image, 0), tf.expand_dims(boxes, 0) ) print(res.shape)

Результат выполнения кода:

(1, 100, 100, 3)

Пример

Давайте нарисуем две рамки с разными цветами и текстовыми метками:

import tensorflow as tf image = tf.zeros([100, 100, 3], dtype=tf.uint8) boxes = tf.constant([[ [0.1, 0.1, 0.4, 0.4], [0.5, 0.5, 0.9, 0.9] ]]) colors = tf.constant([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]) texts = tf.constant([['abcde', 'model.keras']]) res = tf.image.draw_bounding_boxes( tf.expand_dims(image, 0), boxes, colors=colors, texts=texts ) print(res.shape)

Результат выполнения кода:

(1, 100, 100, 3)

Смотрите также

  • функцию crop_to_bounding_box,
    которая обрезает изображение по рамке
  • функцию pad_to_bounding_box,
    которая дополняет изображение до рамки
  • функцию non_max_suppression,
    которая фильтрует пересекающиеся рамки
  • функцию combined_non_max_suppression,
    которая выполняет пакетную фильтрацию рамок
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить