Модуль: tf.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. Одноканальные изображения являются градации серого, изображения с 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_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: Подробности см. в 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(...): Обрезает изображение до указанной ограничивающей рамки.
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(...): Функция для проверки, кодирует ли «содержимое» изображение 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_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.
© 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.4/api_docs/python/tf/image