Модуль: 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. Закодированные изображения представлены скалярными строковыми тензорами, декодированные изображения — тензорами uint8 размерности 3 с формой [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(...): Функция-обёртка для проверки, кодирует ли '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_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.
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.3/api_docs/python/tf/image