Spec-Zone.ru › TensorFlow 2.9

Модуль: tf.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. Изображения с одним каналом — это изображения в оттенках серого, изображения с тремя каналами закодированы как RGB или HSV. Изображения с двумя или четырьмя каналами включают альфа-канал, который необходимо удалить из изображения перед передачей его большинству функций обработки изображений (и его можно добавить обратно позже).

Внутренне изображения хранятся либо как один 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: См. tf.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(...): Обрезка image до заданной ограничивающей рамки.

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_jpeg_shape(...): Извлечение информации о форме закодированного в JPEG изображения.

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

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

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

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER

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_with_crop_or_pad(...): Обрезает и/или добавляет нули к изображению до целевой ширины и высоты.

resize_with_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.

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

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

stateless_random_crop(...): Определенно случайно обрезает тензор до заданного размера.

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

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

stateless_random_hue(...): Определенно регулирует оттенок изображений в формате RGB случайным множителем.

stateless_random_jpeg_quality(...): Определенно случайно меняет качество кодирования JPEG для введения шума JPEG.

stateless_random_saturation(...): Определенно регулирует насыщенность изображений в формате RGB случайным множителем.

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

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

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

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

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

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

Spec-Zone.ru

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