Spec-Zone.ru › TensorFlow 2.3

Модуль: tf.compat.v1.image

Операции с изображениями.

Модуль tf.image содержит различные функции для обработки изображений и операций декодирования-кодирования.

Многие функции кодирования/декодирования также доступны в основном модуле tf.io.

Обработка изображений

Изменение размера

Операции изменения размера принимают входные изображения в виде тензоров нескольких типов. Они всегда выдают изображения с изменённым размером как тензоры типа float32.

Функция-обёртка tf.image.resize поддерживает входные и выходные тензоры как 4-мерные, так и 3-мерные. 4-мерные тензоры предназначены для пакетных изображений, 3-мерные — для отдельных изображений.

Изменённые изображения будут искажены, если их исходное соотношение сторон отличается от заданных размеров. Чтобы избежать искажений, используйте tf.image.resize_with_pad.

  • tf.image.resize
  • tf.image.resize_with_pad
  • tf.image.resize_with_crop_or_pad

Класс tf.image.ResizeMethod предоставляет различные методы изменения размера, такие как bilinear, nearest_neighbor.

Преобразование между цветовыми пространствами

Операции с изображениями работают либо с отдельными изображениями, либо с наборами изображений в зависимости от формы входного тензора.

Если форма 3-мерная, то форма [height, width, channels], и тензор представляет одно изображение. Если форма 4-мерная, то форма [batch_size, height, width, channels], и тензор представляет batch_size изображений.

В настоящее время channels может быть 1, 2, 3 или 4. Изображения с одним каналом — это изображения в оттенках серого, изображения с 3 каналами закодированы как RGB или HSV. Изображения с 2 или 4 каналами содержат альфа-канал, который необходимо удалить из изображения перед передачей его большинству функций обработки изображений (и можно будет снова добавить позже).

Внутренне изображения хранятся либо в виде одного float32 на канал на пиксель (неявным образом предполагается, что значения лежат в диапазоне [0,1)) или одного uint8 на канал на пиксель (предполагается, что значения лежат в диапазоне [0,255]).

TensorFlow может преобразовывать изображения между RGB, HSV или YIQ.

  • tf.image.rgb_to_grayscale, tf.image.grayscale_to_rgb
  • tf.image.rgb_to_hsv, tf.image.hsv_to_rgb
  • tf.image.rgb_to_yiq, tf.image.yiq_to_rgb
  • tf.image.rgb_to_yuv, tf.image.yuv_to_rgb
  • tf.image.image_gradients
  • tf.image.convert_image_dtype

Настройка изображений

TensorFlow предоставляет функции для настройки изображений различными способами: яркость, контраст, оттенок и насыщенность. Каждую настройку можно выполнить с предопределёнными параметрами или с случайными параметрами, выбранными из предопределённых интервалов. Случайные настройки часто полезны для расширения набора данных обучения и уменьшения переобучения.

Если несколько настроек объединены в цепочку, рекомендуется минимизировать количество избыточных преобразований, сначала преобразуя изображения в наиболее естественный тип данных и представление.

  • tf.image.adjust_brightness
  • tf.image.adjust_contrast
  • tf.image.adjust_gamma
  • tf.image.adjust_hue
  • tf.image.adjust_jpeg_quality
  • tf.image.adjust_saturation
  • tf.image.random_brightness
  • tf.image.random_contrast
  • tf.image.random_hue
  • tf.image.random_saturation
  • tf.image.per_image_standardization

Работа с ограничивающими рамками

  • tf.image.draw_bounding_boxes
  • tf.image.combined_non_max_suppression
  • tf.image.generate_bounding_box_proposals
  • tf.image.non_max_suppression
  • tf.image.non_max_suppression_overlaps
  • tf.image.non_max_suppression_padded
  • tf.image.non_max_suppression_with_scores
  • tf.image.pad_to_bounding_box
  • tf.image.sample_distorted_bounding_box

Вырезание

  • tf.image.central_crop
  • tf.image.crop_and_resize
  • tf.image.crop_to_bounding_box
  • tf.io.decode_and_crop_jpeg
  • tf.image.extract_glimpse
  • tf.image.random_crop
  • tf.image.resize_with_crop_or_pad

Отражение, вращение и транспонирование

  • tf.image.flip_left_right
  • tf.image.flip_up_down
  • tf.image.random_flip_left_right
  • tf.image.random_flip_up_down
  • tf.image.rot90
  • tf.image.transpose

Декодирование и кодирование изображений

TensorFlow предоставляет операции для декодирования и кодирования форматов JPEG и PNG. Закодированные изображения представлены скалярными строковыми тензорами, декодированные изображения — 3-мерными тензорами uint8 с формой [height, width, channels]. (PNG также поддерживает uint16.)

Примечание: decode_gif возвращает 4-мерный массив [num_frames, height, width, 3]

Операции кодирования и декодирования применяются к одному изображению за раз. Их вход и выход имеют переменный размер. Если вам нужны изображения фиксированного размера, передайте выход декодирующих операций одной из операций вырезания и изменения размера.

  • tf.io.decode_bmp
  • tf.io.decode_gif
  • tf.io.decode_image
  • tf.io.decode_jpeg
  • tf.io.decode_and_crop_jpeg
  • tf.io.decode_png
  • tf.io.encode_jpeg
  • tf.io.encode_png

Классы

class ResizeMethod: Подробности см. в v1.image.resize.

Функции

adjust_brightness(...): Настройка яркости RGB или градационных изображений.

adjust_contrast(...): Настройка контраста RGB или градационных изображений.

adjust_gamma(...): Выполняет Коррекцию гаммы.

adjust_hue(...): Настройка оттенка RGB-изображений.

adjust_jpeg_quality(...): Настройка качества кодирования JPEG изображения.

adjust_saturation(...): Настройка насыщенности RGB-изображений.

central_crop(...): Вырезание центральной области изображения(й).

combined_non_max_suppression(...): Жадно выбирает подмножество ограничивающих рамок в порядке убывания оценки.

convert_image_dtype(...): Преобразование image в dtype, масштабируя его значения при необходимости.

crop_and_resize(...): Извлечение фрагментов из входного тензора изображения и их изменение размера.

crop_to_bounding_box(...): Вырезание изображения до заданной ограничивающей рамки.

decode_and_crop_jpeg(...): Декодирование и вырезание закодированного в JPEG изображения в тензор uint8.

decode_bmp(...): Декодирование первого кадра BMP-изображения в тензор uint8.

decode_gif(...): Декодирование кадра(ов) GIF-изображения в тензор uint8.

decode_image(...): Функция для decode_bmp, decode_gif, decode_jpeg, и decode_png.

decode_jpeg(...): Декодирование закодированного в JPEG изображения в тензор uint8.

decode_png(...): Декодирование закодированного в PNG изображения в тензор uint8 или uint16.

draw_bounding_boxes(...): Рисование ограничивающих рамок на наборе изображений.

encode_jpeg(...): Кодирование изображения в JPEG.

encode_png(...): Кодирование изображения в PNG.

extract_glimpse(...): Извлечение фрагмента из входного тензора.

extract_image_patches(...): Извлечение patches из images и размещение их в выходном измерении «глубина».

extract_jpeg_shape(...): Извлечение информации о форме закодированного в JPEG изображения.

extract_patches(...): Извлечение patches из images.

flip_left_right(...): Горизонтальное отражение изображения (слева направо).

flip_up_down(...): Вертикальное отражение изображения (вверх дном).

generate_bounding_box_proposals(...): Генерация предложений ограничивающих рамок из закодированных ограничивающих рамок.

END_OF_DOCUMENT_MARKER

grayscale_to_rgb(...): Преобразует один или несколько изображений из градации серого в RGB.

hsv_to_rgb(...): Преобразует одно или несколько изображений из HSV в RGB.

image_gradients(...): Возвращает градиенты изображения (dy, dx) для каждого цветового канала.

is_jpeg(...): Функция для проверки, кодирует ли «содержимое» изображение JPEG.

non_max_suppression(...): Жадно выбирает подмножество прямоугольников с границами по убыванию оценки.

non_max_suppression_overlaps(...): Жадно выбирает подмножество прямоугольников с границами по убыванию оценки.

non_max_suppression_padded(...): Жадно выбирает подмножество прямоугольников с границами по убыванию оценки.

non_max_suppression_with_scores(...): Жадно выбирает подмножество прямоугольников с границами по убыванию оценки.

pad_to_bounding_box(...): Заполняет image нулями до указанных height и width.

per_image_standardization(...): Линейно масштабирует каждое изображение в image для получения среднего значения 0 и дисперсии 1.

psnr(...): Возвращает пиковое отношение сигнал/шум между a и b.

random_brightness(...): Изменяет яркость изображений на случайный множитель.

random_contrast(...): Изменяет контраст изображения или изображений на случайный множитель.

random_crop(...): Случайно обрезает тензор до заданного размера.

random_flip_left_right(...): Случайно отражает изображение по горизонтали (слева направо).

random_flip_up_down(...): Случайно отражает изображение по вертикали (вверх дном).

random_hue(...): Изменяет оттенок изображений RGB на случайный множитель.

random_jpeg_quality(...): Случайно изменяет качество кодирования JPEG для введения шума JPEG.

random_saturation(...): Изменяет насыщенность изображений RGB на случайный множитель.

resize(...): Изменяет размер images на size с использованием указанного method.

resize_area(...): Изменяет размер images на size с использованием интерполяции площади.

resize_bicubic(...)

resize_bilinear(...)

resize_image_with_crop_or_pad(...): Обрезает и/или заполняет изображение до целевой ширины и высоты.

resize_image_with_pad(...): Изменяет размер и заполняет изображение до целевой ширины и высоты.

resize_images(...): Изменяет размер images на size с использованием указанного method.

resize_nearest_neighbor(...)

resize_with_crop_or_pad(...): Обрезает и/или заполняет изображение до целевой ширины и высоты.

rgb_to_grayscale(...): Преобразует одно или несколько изображений из RGB в градации серого.

rgb_to_hsv(...): Преобразует одно или несколько изображений из RGB в HSV.

rgb_to_yiq(...): Преобразует одно или несколько изображений из RGB в YIQ.

rgb_to_yuv(...): Преобразует одно или несколько изображений из RGB в YUV.

rot90(...): Поворачивает изображение(я) против часовой стрелки на 90 градусов.

sample_distorted_bounding_box(...): Генерирует один случайно искаженный прямоугольник с границами для изображения. (устарело)

sobel_edges(...): Возвращает тензор, содержащий карты границ по методу Соболя.

ssim(...): Вычисляет индекс SSIM между img1 и img2.

ssim_multiscale(...): Вычисляет MS-SSIM между img1 и img2.

total_variation(...): Вычисляет и возвращает полную вариацию для одного или нескольких изображений.

transpose(...): Поворачивает изображение(я) путем перестановки высоты и ширины.

transpose_image(...): Поворачивает изображение(я) путем перестановки высоты и ширины.

yiq_to_rgb(...): Преобразует одно или несколько изображений из YIQ в RGB.

yuv_to_rgb(...): Преобразует одно или несколько изображений из YUV в RGB.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/image

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API