Модуль: tf.compat.v1.image
Обработка изображений.
Модуль tf.image содержит различные функции для обработки изображений и операций декодирования-кодирования.
Многие функции кодирования/декодирования также доступны в основном модуле tf.io.
Обработка изображений
Изменение размера
Операции изменения размера принимают входные изображения как тензоры нескольких типов. Они всегда возвращают изменённые изображения как тензоры float32.
Функция-утилита tf.image.resize поддерживает входные и выходные тензоры как размерности 4, так и 3. Тензоры размерности 4 предназначены для пакетной обработки изображений, а тензоры размерности 3 для отдельных изображений.
Изменённые изображения будут искажены, если их исходное соотношение сторон не совпадает с новым размером. Чтобы избежать искажений, используйте tf.image.resize_with_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_gradientstf.image.convert_image_dtype
Настройки изображений
TensorFlow предоставляет функции для изменения изображений различными способами: яркость, контраст, оттенок и насыщенность. Каждое изменение можно выполнить с предварительно заданными параметрами или с случайными параметрами, выбранными из предварительно заданных интервалов. Случайные изменения часто полезны для расширения набора обучающих данных и уменьшения переобучения.
Если несколько изменений выполняются последовательно, рекомендуется минимизировать количество избыточных преобразований, сначала преобразуя изображения в наиболее естественный тип данных и представление.
tf.image.adjust_brightnesstf.image.adjust_contrasttf.image.adjust_gammatf.image.adjust_huetf.image.adjust_jpeg_qualitytf.image.adjust_saturationtf.image.random_brightnesstf.image.random_contrasttf.image.random_huetf.image.random_saturationtf.image.per_image_standardization
Работа с рамками
tf.image.draw_bounding_boxestf.image.combined_non_max_suppressiontf.image.generate_bounding_box_proposalstf.image.non_max_suppressiontf.image.non_max_suppression_overlapstf.image.non_max_suppression_paddedtf.image.non_max_suppression_with_scorestf.image.pad_to_bounding_boxtf.image.sample_distorted_bounding_box
Обрезка
tf.image.central_croptf.image.crop_and_resizetf.image.crop_to_bounding_boxtf.io.decode_and_crop_jpegtf.image.extract_glimpsetf.image.random_croptf.image.resize_with_crop_or_pad
Отражение, вращение и транспонирование
tf.image.flip_left_righttf.image.flip_up_downtf.image.random_flip_left_righttf.image.random_flip_up_downtf.image.rot90tf.image.transpose
Декодирование и кодирование изображений
TensorFlow предоставляет операции для декодирования и кодирования форматов JPEG и PNG. Закодированные изображения представлены скалярными строковыми тензорами, декодированные изображения — 3-мерными тензорами uint8 с формой [height, width, channels]. (PNG также поддерживает uint16.)
Примечание:decode_gifвозвращает 4-мерный массив[num_frames, height, width, 3]
Операции кодирования и декодирования применяются к одному изображению за раз. Их вход и выход имеют переменный размер. Если вам нужны изображения фиксированного размера, передайте результат операций декодирования в одну из операций обрезки или изменения размера.
tf.io.decode_bmptf.io.decode_giftf.io.decode_imagetf.io.decode_jpegtf.io.decode_and_crop_jpegtf.io.decode_pngtf.io.encode_jpegtf.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(...): Генерация предложений о рамках из закодированных рамок.
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_image_with_crop_or_pad(...): Обрезает и/или дополняет изображение до целевой ширины и высоты.
resize_image_with_pad(...): Изменяет размер и дополняет изображение до целевой ширины и высоты.
resize_images(...): Изменяет размер images до size с использованием указанного method.
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