Spec-Zone.ru › TensorFlow 2.9

Модуль: 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. Одноканальные изображения — это изображения в оттенках серого, изображения с тремя каналами кодируются как 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(...): Обрезка 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_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(...): Функция для проверки, кодирует ли «contents» изображение 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.

© 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/compat/v1/image

Spec-Zone.ru

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